Python Lua与组播
我正在尝试将一些代码从python转换为lua python中的相关位是:Python Lua与组播,python,lua,udp,multicast,Python,Lua,Udp,Multicast,我正在尝试将一些代码从python转换为lua python中的相关位是: import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.settimeout(3) sock.bind(('239.0.3.138', 3935)) mreq = stru
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.settimeout(3)
sock.bind(('239.0.3.138', 3935))
mreq = struct.pack("=4sl", socket.inet_aton('239.0.3.138'), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
print( sock.recv(1500) )
我想在Lua做的是:
udp = socket.udp()
udp:setpeername( '239.0.3.138','3935')
udp:settimeout(3.0)
udp:setoption( "ip-add-membership", { multiaddr="239.0.3.138", interface="*" } )
print( udp:receive(1500) )
我对Lua和网络都不太熟悉。我只是想学一点。有没有关于我遗漏了什么的线索
Lua代码正在达到超时。Luasocket存储库中有UDP上的示例和消息。示例中的代码与您的代码类似,它使用了Egor建议的
receivefrom
。尽管您使用了setpeername
,receive
也应该可以使用。Luasocket存储库中有UDP上的和消息的示例。示例中的代码与您的代码类似,它使用了Egor建议的receivefrom
。尽管您使用了setpeername
,receive
也应该可以使用。猜测:tryudp:receivefrom()
@EgorSkriptunoff是可预测的微妙,将面包屑留在一条通往光明的道路上……猜测:tryudp:receivefrom()
@EgorSkriptunoff是可预测的微妙,把面包屑留在通往启示的路上。。。