Fix*_*xie 5 python sockets client-server
我正在制作一个需要从服务器接收连接哈希的程序.我用的时候:
connhash = s.recv(1024)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
[Errno 10054] An existing connection was forcibly closed by the remote host
Run Code Online (Sandbox Code Playgroud)
这是我的错还是服务器故障?
以下是一些导致s.recv()的代码
stringfmt = u'%(user)s;%(host)s:%(port)d'
string = stringfmt % data
structfmt = '!bh'
encoded = string.encode('utf-16BE')
packetbytes = struct.pack(structfmt, 2, len(encoded))+encoded
s.send(packetbytes)
connhash = s.recv(1024)
Run Code Online (Sandbox Code Playgroud)
我使用的是Python v 2.7
编辑:这是为了我的世界,所以你知道.
听起来远程服务器不喜欢您的连接并切断了您的连接。这可能意味着您犯了协议错误(即您发送的命令不正确),或者您可能没有成功登录,或者您的 IP 可能已被禁止,或者许多其他类似的事情。
要调试它,您可以尝试使用 telnet 之类的东西来复制连接并查看错误发生的位置(如果没有,则说明您的实现有问题;如果有,则说明您对协议,否则您将被阻止使用服务器)。
或者,使用Wireshark等数据包捕获工具来查看正在发送和接收的数据包,并查看是否存在问题。
| 归档时间: |
|
| 查看次数: |
803 次 |
| 最近记录: |