python socket 交互通信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python socket 交互通信相关的知识,希望对你有一定的参考价值。

事例1:

服务端:

#!/usr/bin/env python
# encoding: utf-8

"""
@version: ??
@author: phpergao
@license: Apache Licence 
@file: socket_server.py
@time: 2016-05-22 19:22
"""

import socket
ip_port=("127.0.0.1",9999)
sk=socket.socket()
sk.bind(ip_port)
sk.listen(5)
while True:
    print("server waiting")
    conn,addr=sk.accept()
    client_data=conn.recv(1024)
    print(str(client_data,encoding="utf-8"))
    conn.sendall(bytes("不要回答,我不想被占领",encoding="utf-8"))
    conn.close()

客户端:

import socket
ip_port=("127.0.0.1",9999)
sk=socket.socket()
sk.connect(ip_port)

sk.sendall(bytes("请求占领地球",encoding="utf-8"))
sk.sendall(bytes("\n我要开始侵略占领地球了",encoding="utf-8"))
server_reply=sk.recv(1024)
print(str(server_reply,encoding="utf-8"))
sk.close()

事例2:

服务端:

import socket
ip_port=("127.0.0.1",9999)
sk=socket.socket()
sk.bind(ip_port)
sk.listen(5)
while True:

    print("server waiting")
    conn,addr=sk.accept()
    client_data=conn.recv(1024)
    print(str(client_data,encoding="utf-8"))
    conn.sendall(bytes("不要回答,我不想被占领",encoding="utf-8"))
    while True:
        try:
            client_data=conn.recv(1024)
            print(str(client_data,encoding="utf-8"))
        except Exception:
            print("client close.")
            break
        conn.send(client_data)
    conn.close()

客户端:

import socket
ip_port=("127.0.0.1",9999)
sk=socket.socket()
sk.connect(ip_port)

sk.sendall(bytes("请求占领地球",encoding="utf-8"))
sk.sendall(bytes("\n我要开始侵略占领地球了",encoding="utf-8"))
server_reply=sk.recv(1024)
print(str(server_reply,encoding="utf-8"))
while True:
    enter=input("enter:")
    sk.send(bytes(enter,encoding="utf-8"))
sk.close()

在Linux服务端:

import socket
ip_port=("127.0.0.1",9999)
sk=socket.socket()
sk.bind(ip_port)
sk.listen(5)
while True:

    print("server waiting")
    conn,addr=sk.accept()
    client_data=conn.recv(1024)
    print(str(client_data,encoding="utf-8"))
    conn.sendall(bytes("不要回答,我不想被占领",encoding="utf-8"))
    while True:

        client_data=conn.recv(1024)
        print(str(client_data,encoding="utf-8"))

        if not client_data:
            break
        conn.send(client_data)
    conn.close()


以上是关于python socket 交互通信的主要内容,如果未能解决你的问题,请参考以下文章

python 通信

python之网络编程

Python 之 Socket编程(TCP/UDP)

JavaPHPPython与MySQL交互的性能测试

c++ 网络编程TCP/IP linux 下多进程socket通信 多个客户端与单个服务端交互代码实现回声服务器

Python下socket通信