UDP не подключается - PullRequest
       66

UDP не подключается

0 голосов
/ 27 мая 2020

У меня есть программа, которая показывает пользователю две кнопки: хост-сервер и присоединиться к серверу. Когда нажата кнопка хост-сервера, вызывается эта функция:

local ip, port = socket.dns.toip("localhost"), 11111 --is the problem with this port?

local udp = socket.udp()

udp:settimeout(0)
udp:setsockname(ip, port)

if not udp:getsockname() then
    udp:setpeername(ip, port)
    udp:send("join")
    connected = true
end

Когда нажата кнопка присоединения, вызывается эта функция:

local udp = socket.udp()
udp:settimeout(0)

if not connected then
    repeat
        local data, ip, port = udp:receivefrom()

        if data == "join" then
            udp:setpeername(ip, port)
            connected = true
            --create 'connected' text
            break
        end
    until not data

    if not connected then
        --create 'not connected' text
    end
end

идея состоит в том, что хост Кнопка отправляет «присоединиться», а кнопка присоединения получает все данные в udp, и если она находит «присоединиться», она подключается к нему. Я новичок в UDP, я действительно не знаю, в чем проблема. Я знаю, что способ, которым я это делаю, немного странный, но это просто практика, позже я сделаю более удобную для пользователя.

(Я помещаю эту программу на два ПК, нажимая на хост один затем присоединяется к другому. Я получаю текст "не подключен".)

...