今日作业
# 写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。
# 服务端
import socket
from multiprocessing import Process
def recv(conn,addr):
while True:
recv_msg = conn.recv(1024).decode('utf-8')
print(f'收到来自{addr}的信息[{recv_msg}]')
conn.send(recv_msg.encode('utf-8'))
if __name__ == '__main__':
server = socket.socket()
server.bind(
('127.0.0.1', 8000)
)
server.listen(2000)
while True:
conn, addr = server.accept()
print(f'用户{addr}连接!')
p = Process(target=recv,args=(conn,addr))
p.start()
# 客户端
import socket
client = socket.socket()
client.connect(
('127.0.0.1',8000)
)
while True:
send_msg = input('>>>')
if send_msg == 'q':
break
client.send(send_msg.encode('utf-8'))
recv_msg = client.recv(1024).decode('utf-8')
print(f'收到回复{recv_msg}')
client.close()