我们任需要使用到socket套接字,先创建一个用于收发信息的函数,然后创建进程实现服务端与客户端的连接,将coon以传参的形式传到收发信息的函数里面实现信息互通。
服务端:
import multiprocessing
import socket
sever = socket.socket()
# 端口重复利用
sever.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
sever.bind(('127.0.0.1',9001))
sever.listen(10)
def se(coon):
while 1:
data = coon.recv(1024)
if data:
print(data)
coon.send(data)
else:
coon.close()
break
if __name__ == '__main__':
while 1:
coon, addr = sever.accept()
print('连接成功',addr)
multiprocessing.Process(target=se,args=(coon,)).start()
有时python报错‘[WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。’
说明我们通信双方一方或者双方的端口被占用,我们需要在输入端口号之前用一行代码让该端口实现端口的重复利用
#实现端口重复利用
sever.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
客户端:
import socket
client = socket.socket()
client.connect(('127.0.0.1',9001))
for i in range(10):
client.send(b'hello')
print(client.recv(1024))