服务端
import socket
from multiprocessing import Process
def task(sock):
# 1024 bytes
while True:
# 客户端非正常断开,需要捕捉异常
try:
data = sock.recv(1024)
if len(data) == 0: # 当客户端主动断开时,接收的数据为空
break
print(data)
sock.send(data.upper())
except Exception as e:
print(e)
break
sock.close()
if __name__ == ‘__main__‘:
server = socket.socket()
server.bind((‘127.0.0.1‘,8080))
server.listen(5)
print("正在接收客户端消息:")
while True:
sock,addr = server.accept()
print(sock)
print(addr)
p = Process(target=task,args=(sock,))
p.start()
server.close()
客户端
import socket
client = socket.socket()
client.connect((‘127.0.0.1‘,8080))
while True:
input_data = input(‘请输入要传输的数据:(q to quit)‘).strip()
if not input_data:continue
if input_data == ‘q‘:
break
client.send(input_data.encode(‘utf-8‘))
data = client.recv(1024)
print(data)
client.close()
原文:https://www.cnblogs.com/zty78/p/15036542.html