我有一个套接字,我按以下方式初始化
listen_child_sock = socket.socket()
listen_child_sock.bind((self.ip, 0))
listen_child_sock.listen(backlog)
然后我启动一个客户端与此套接字进行通信。来自客户的第一条消息 - >服务器,然后服务器 - >客户端正确传输和接收。客户端用于发送到服务器的套接字如下:
self.send_server_sock = socket.socket()
self.send_server_sock.connect((self.server_ip, self.server_port))
然而,在进行一些处理之后,客户端尝试通过同一套接字向服务器发送消息(send_server_sock - > listen_child_sock),服务器显然没有接收到该消息。我用来检查服务器套接字是否收到消息的表达式如下:
while True:
len(select.select([listen_child_sock], [], [], 0)[0]) != 0:
conn, addr = listen_child_sock.accept()
# Do stuff
我正在使用socket.send发送消息。
如果它是相关的,我还初始化一个套接字来监听来自客户端服务器的消息
self.listen_server_sock = socket.socket()
self.listen_server_sock.bind((self.ip, 0))
backlog = 5
self.listen_server_sock.listen(backlog)