作业_day29
需求:
写一个基于TCP协议套接字,服务端实现接收客户端的连接并发
实现:
1、多进程实现
# 服务端.py
import socket
from multiprocessing import Process
def with_client(conn,addr):
while True:
msg = conn.recv(1024).decode('utf-8')
print(addr)
print(msg)
conn.send(msg.upper().encode('utf-8'))
if __name__ == '__main__': # 解决地址重用
server = socket.socket()
server.bind(('127.0.0.1', 10086))
server.listen()
while True:
conn, addr = server.accept()
p = Process(target=with_client, args=(conn,addr))
p.start()
# 客户端.py
import socket
client = socket.socket()
client.connect(('127.0.0.1',10086))
while True:
msg = input('发送给服务端:').strip()
client.send(msg.encode('utf-8'))
data = client.recv(1024).decode('utf-8')
print(f'服务端:{data}')
2、多线程实现
# 服务端.py
import socket
from threading import Thread
def with_client(conn,addr):
while True:
msg = conn.recv(1024).decode('utf-8')
print(addr)
print(msg)
conn.send(msg.upper().encode('utf-8'))
server = socket.socket()
server.bind(('127.0.0.1', 10086))
server.listen()
while True:
conn, addr = server.accept()
t = Thread(target=with_client,args=(conn,addr))
t.start()

浙公网安备 33010602011771号