day29作业

写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。

服务端:

# coding=utf-8

'''
写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。
'''
import socket
from threading import Thread,Lock

server = socket.socket()
address = ("127.0.0.1",8888)
server.bind(address)
server.listen()

def task(conn,addr):
    while True:
        try:
            data = conn.recv(1024).decode("utf-8")
            print(f"来自{addr}的消息:{data}")

            if data == "exit" or data == "q" or not data:
                break

            conn.send(data.encode("utf-8"))
        except Exception as e:
            print(e)
            break
    conn.close()

if __name__ == '__main__':
    while True:
        conn,addr = server.accept()


        t = Thread(target=task,args=(conn,addr))
        t.start()

客户端:

# coding=utf-8

import socket
client = socket.socket()
address = ("127.0.0.1",8888)
client.connect(address)

def task():
    while True:
        send_msg = input(">>>")
        if send_msg == "q" or send_msg == "exit" or not send_msg:
            break

        client.send(send_msg.encode("utf-8"))

        data = client.recv(1024)
        print(data.decode("utf-8"))
#
# if __name__ == '__main__':
#
task()
posted @ 2019-10-22 18:24  GeminiMp  阅读(90)  评论(0)    收藏  举报