Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python对游戏服务器的查询_Python_Django_Udp_Minecraft - Fatal编程技术网

Python对游戏服务器的查询

Python对游戏服务器的查询,python,django,udp,minecraft,Python,Django,Udp,Minecraft,我正在尝试使用Dinnerbone(游戏开发者之一)编写的python类查询Minecraft服务器。当我尝试查询它时,我得到错误“在数据报套接字上发送的消息大于内部消息缓冲区或其他一些网络限制,或者用于接收数据报的缓冲区小于数据报本身”。据我所知,这似乎是UDP本身的物理限制 我不完全确定这是什么原因造成的,或者我能做些什么 可在此处找到该类: 任何建议都值得赞赏,因为错误不会显示在命令提示窗口中,但在通过Django运行时会出错。您遇到的问题是脚本试图将数据包读入一个太小而无法容纳它的缓冲区

我正在尝试使用Dinnerbone(游戏开发者之一)编写的python类查询Minecraft服务器。当我尝试查询它时,我得到错误“在数据报套接字上发送的消息大于内部消息缓冲区或其他一些网络限制,或者用于接收数据报的缓冲区小于数据报本身”。据我所知,这似乎是UDP本身的物理限制

我不完全确定这是什么原因造成的,或者我能做些什么

可在此处找到该类:


任何建议都值得赞赏,因为错误不会显示在命令提示窗口中,但在通过Django运行时会出错。

您遇到的问题是脚本试图将数据包读入一个太小而无法容纳它的缓冲区。这似乎发生在脚本的第42行:

buff = self.socket.recvfrom(1460)[0]

尝试将缓冲区大小从1460更改为更大。

您的直觉很可能是正确的。UDP受物理层数据报大小的限制。错误可能是连接的实际字节与packetsize不匹配。