Merge pull request #620 from Xertis/main

Udp test + Fix udp
This commit is contained in:
MihailRis 2025-09-23 01:12:28 +03:00 • committed by GitHub
commit 14a5f316ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 37 additions and 1 deletions

32
dev/tests/network_udp.lua Normal file
View file

@ -0,0 +1,32 @@
for i = 1, 3 do
print(string.format("iteration %s", i + 1))
local complete = false
local server = network.udp_open(8645, function (address, port, data, srv)
print(string.format("server received %s byte(s) from %s:%s", #data, address, port))
srv:send(address, port, "pong")
end)
network.udp_connect("localhost", 8645, function (data)
print(string.format("client received %s byte(s) from server", #data))
complete = true
end, function (socket)
print("udp socket opened")
start_coroutine(function()
print("udp data-sender started")
for k = 1, 5 do
local payload = ""
for j = 1, 16 do
payload = payload .. math.random(0, 9)
end
socket:send(payload)
print(string.format("sent packet %s (%s bytes)", k, #payload))
coroutine.yield()
end
socket:close()
end, "udp-data-sender")
end)
app.sleep_until(function () return complete end, nil, 5)
server:close()
end

View file

@ -144,7 +144,11 @@ network.udp_connect = function (address, port, datagramHandler, openCallback)
socket.id = network.__connect_udp(address, port)
_udp_client_datagram_callbacks[socket.id] = datagramHandler
_udp_client_open_callbacks[socket.id] = openCallback
if openCallback then
_udp_client_open_callbacks[socket.id] = function()
openCallback(socket)
end
end
return socket
end