python3 通过多进程来实现一下同时和多个客户端进行连接通信

tcp_server.py

# coding:utf-8
from socket import *
from multiprocessing import Process


def talk(conn, addr):
    print("子进程开始.")
    while 1:
        try:
            client_from_msg = conn.recv(1024)
            print("来自客户端%s端口%s的消息: " % (addr[0], addr[1]), client_from_msg)
            if not client_from_msg: break
            conn.send(client_from_msg.upper())
        except Exception:
            break


if __name__ == '__main__':
    print("主进程开始.")
    server = socket()
    ip_port = ("127.0.0.1", 8080)
    server.bind(ip_port)
    server.listen(5)
    while 1:
        conn, client_addr = server.accept()
        print(conn, client_addr)
        p = Process(target=talk, args=(conn, client_addr))
        p.start()

tcp_client1.py

# coding:utf-8
from socket import *


client = socket()
ip_port = ("127.0.0.1", 8080)
client.connect(ip_port)
while 1:
    inp = input(">>>:").strip()
    if not inp: continue
    client.send(inp.encode("utf-8"))
    from_server_msg = client.recv(1024)
    print("来自服务端的消息:", from_server_msg)

client.close()

 

tcp_client2.py和tcp_client1.py代码完全一样.

posted on 2019-06-03 12:46  lilyxiaoyy  阅读(2644)  评论(0编辑  收藏  举报

返回
顶部