当我试图通过LAN来平平一个“我的世界”服务器时,文档会这样说:
在Singeplayer中有一个叫做“向LAN开放”的函数。Min克拉夫特(在服务器列表中)绑定一个UDP端口并侦听到224.0.2.60:4445的连接(是的,这是实际的IP,无论您是什么网络或本地IP地址)“.客户端,绑定UDP套接字并侦听连接。为此可以使用MulticastSocket。
我试图通过以下方式在Python中实现这一点:
import socket
UDP_IP = "224.0.2.60"
UDP_PORT = 4445
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
print("received message: %s" % data)
这给了我一个OSError: [WinError 10049]
错误。
请帮助:(我不知道我的代码出了什么问题。
顺便说一句,将数据包发送到这个端口是可行的,而假服务器就出现在“我的世界”应用程序上。
发布于 2021-04-21 15:19:27
您不能绑定到这样的多播地址。它涉及的更多一些。我建议阅读这篇文章,它解释了与Python一起使用多播的所有细节。
https://stackoverflow.com/questions/67198495
复制相似问题