fork()创建网络并发连接,运行时出现ConnectionRefusedError: [Errno 111] Connection refused
#服务端
from socket import *
import os
import signal
HOST = '127,0,0,1'
PORT = 8888
ADDR = (HOST,PORT)
def handle(c):
while True:
data = c.recv(1024)
if not data:
break
print(data.decode())
c.send(b'OK')
c.close()
s = socket()
s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
s.listen(5)
signal.signal(signal.SIGCHLD,signal.SIG_IGN)
print('Listen the port 8888.....')
while True:
try:
c,addr = s.accept()
print('Connect from',addr)
except KeyboardInterrupt as e:
os._exit(0)
except Exception as e:
print(e)
continue
pid = os.fork()
if pid == 0:
s.close()
handle(c)
os._exit(0)
else:
c.close()
#客户端
sockfd = socket()
server_addr = ('127.0.0.1',8888)
sockfd.connect(server_addr)
while True:
msg = input('Msg:')
if not msg:
break
sockfd.send(msg.encode())
data = sockfd.recv(5)
print('From server:',data.decode())
sockfd.close()