我收到此错误:
Traceback (most recent call last):
File "./server.py", line 12, in <module>
data = connexion.recv(1024)
socket.error: [Errno 57] Socket is not connected
server.py:
#!/usr/bin/python2.7
import socket
connexion = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connexion.bind(('', 12800))
connexion.listen(5)
client, info = connexion.accept()
continuer = ""
while(continuer.upper() != "Q"):
data = connexion.recv(1024) #I get the error here
continuer = raw_input("")
else:
connexion.close()
有人可以告诉我我的代码有什么问题吗?
答案 0 :(得分:3)
data = connexion.recv(1024) #I get the error here
应该是
data = client.recv(1024)
答案 1 :(得分:3)
您正在从connexion套接字接收,而不是客户端套接字。
每个客户端套接字都绑定到另一个连接。但是服务器套接字(此处为connexion)接受客户端套接字,它不会重新发送/发送。
快速修复您的代码:
continuer = ""
while(continuer.upper() != "Q"):
data = client.recv(1024)
continuer = raw_input("")
else:
client.close()
此外,我不确定别人会做些什么。 您应该在达到while条件后将其删除,无论如何都将关闭客户端套接字。
@Jeremy Friesner:比我快。但无论如何我都会发布答案,因为它更完成。