* тест для udp + фикс udp * fix udp addresses resolve * update SocketUdpConnection::connect * update SocketUdpServer::sendTo * update udp test * revert * test * test * test * test * test * test? * update test * cleanup * cleanup * update test * update * revert * cleanup * update test * update test * update * fix test * additional error handling * update Network.cpp * update Network.cpp 2 * fix the test * cleanup Network.cpp * revert network_tcp.lua extra changes --------- Co-authored-by: Xertis <118364459+Xertis@users.noreply.github.com>
36 lines
1.2 KiB
Lua
36 lines
1.2 KiB
Lua
math.randomseed(43172)
|
|
for i = 1, 15 do
|
|
debug.log(string.format("iteration %s", i))
|
|
local complete = false
|
|
|
|
local server = network.udp_open(8645 + i, function (address, port, data, srv)
|
|
debug.log(string.format("server received %s byte(s) from %s:%s", #data, address, port))
|
|
srv:send(address, port, "pong")
|
|
end)
|
|
|
|
app.tick()
|
|
network.udp_connect("localhost", 8645 + i, function (data)
|
|
debug.log(string.format("client received %s byte(s) from server", #data))
|
|
complete = true
|
|
end, function (socket)
|
|
debug.log("udp socket opened")
|
|
start_coroutine(function()
|
|
debug.log("udp data-sender started")
|
|
for k = 1, 15 do
|
|
local payload = ""
|
|
for j = 1, 16 do
|
|
payload = payload .. math.random(0, 9)
|
|
end
|
|
socket:send(payload)
|
|
debug.log(string.format("sent packet %s (%s bytes)", k, #payload))
|
|
coroutine.yield()
|
|
end
|
|
app.sleep_until(function () return complete end, nil, 5)
|
|
socket:close()
|
|
end, "udp-data-sender")
|
|
end)
|
|
|
|
app.sleep_until(function () return complete end, nil, 5)
|
|
server:close()
|
|
end
|