lua sockets库中使用"sendto"时遇到麻烦

我正在尝试编写一个点对点匹配服务器,但是我在使用"sendto"时遇到了麻烦。我尝试使用"send",但是当进行打洞步骤时,对等方无法切换到另一个客户端,所以我现在正在尝试"sendto",但是sendto甚至无法将消息发送到服务器。

以下是我的代码:

客户端:

local socket = require("socket")

local udp = socket.udp()
udp:setsockname("*", 0)
udp:settimeout(0)

--对于server_ip,我也尝试过"localhost""192.168.1.3""127.0.0.1""127.0.0.0",但是都不起作用。
local server_ip, server_port = "24.159.10.150", 30672

udp:sendto("FOO", server_ip, server_port)`

服务器:

local socket = require("socket")

local udp = socket.udp()
udp:setsockname('*', 30672)
udp:settimeout(0)

while true do
    local data, ip, port = udp:receivefrom()
    if data ~= nil then
        break;
    end
end
print("SUCCESS!!")
点赞