我是Python套接字的新手,已经搜寻了好几天却找不到解决问题的方法。
ip = 'hidden IP address'
port = 4444
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
s.send(data)
d = s.recv(1024)
print(d)
while True:
print('waiting')
clientsocket, address = s.accept()
print(address)
data = b''
while True:
d = clientsocket.recv(1024)
data = data + d
if len(d) <= 0:
break
print(pickle.loads(data))
clientsocket.send(b'test')
如果我将其注释掉:
d = s.recv(1024)
print(d)
...在client.py中:
clientsocket.send(b'test')
...在server.py中,它可以正常工作,并且服务器会打印出数据,但是当我尝试发送答复时,服务器会暂停并且永不中断。为什么?
我想要的是让客户端发送数据,然后等待接收到一些东西。稍后,在完整脚本中,客户端将不得不等待大约5分钟,然后才能真正收回一些东西。我该怎么办?