gpt4 book ai didi

python - 在 Python 中使用 s.recv() 时出现奇怪的错误

转载 作者:太空狗 更新时间:2023-10-30 01:29:46 25 4
gpt4 key购买 nike

我正在制作一个需要从服务器接收连接哈希的程序。当我使用时:

connhash = s.recv(1024)

我收到这个错误:

[Errno 10054] An existing connection was forcibly closed by the remote host

这是我的错还是服务器的错?

这是导致 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)

我正在使用 Python v 2.7

编辑:如您所知,这是针对 Minecraft 的。

最佳答案

听起来远程服务器不喜欢您的连接并切断了您的连接。这可能意味着您犯了协议(protocol)错误(即,您发送的命令不正确),或者您可能没有成功登录,或者您的 IP 可能已被禁止,或者许多其他类似的事情。

要调试它,您可以尝试使用诸如 telnet 之类的东西来复制连接并查看错误发生的位置(如果没有,那么您的实现有问题;如果是,则您的实现有问题了解协议(protocol),否则您将无法使用服务器)。

或者,使用数据包捕获工具,如 Wireshark查看正在发送和接收的数据包,看看是否显示了问题。

关于python - 在 Python 中使用 s.recv() 时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com