C#-Lua UDP 不兼容 (没有收到消息)

我的问题: 一个由C#应用程序(.NET 4.6.1)发送的UDP消息没有在Lua客户端(LOVE 0.9.2带有LuaSocket)中显示。

发送代码非常简单:

UdpClient listener = new UdpClient(port);
listener.Send(bytes, bytes.Length, "client_ip", 1234);

接收代码也相对简单:

local socket = require("socket")
local address,port = "server_ip",1234
local udp = socket.udp()
udp:settimeout(0)
udp:setpeername(address,port)
local data,msg_ip,port_nil

function love.update(dt)
    repeat
        data,msg_ip,port_nil = udp:receive()
        if data then
            print(data)
        elseif msg_ip~="timeout" then
            print(msg_ip)
        end
    until not data
end
点赞
用户6558652
用户6558652

正如Michael所说,问题实际上不是UDP实现不兼容的问题。我在客户端Lua代码中忘记包含udp:setsockname('*',port),这是一个完全不同且更容易解决的问题。除非有抱怨,否则我将保留这个标题错误的问题,以帮助任何其他误入歧途的人。

2018-03-04 17:30:32