mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
update network test and fix coroutines errors handling
This commit is contained in:
parent
f531d2e358
commit
40eda93398
2 changed files with 46 additions and 24 deletions
|
|
@ -1,19 +1,38 @@
|
|||
local data = "hello, world"
|
||||
local complete = false
|
||||
for i=1,3 do
|
||||
local text = ""
|
||||
local complete = false
|
||||
|
||||
network.tcp_open(7645, function (client)
|
||||
start_coroutine(function()
|
||||
local received = client:recv(1024)
|
||||
if received then
|
||||
assert (data, utf8.tostring(received))
|
||||
for j=1,100 do
|
||||
text = text .. math.random(0, 9)
|
||||
end
|
||||
|
||||
local server = network.tcp_open(7645, function (client)
|
||||
start_coroutine(function()
|
||||
local received_text = ""
|
||||
while client:is_alive() do
|
||||
local received = client:recv(512)
|
||||
if received then
|
||||
received_text = received_text .. utf8.tostring(received)
|
||||
end
|
||||
coroutine.yield()
|
||||
end
|
||||
assert (received_text == text)
|
||||
complete = true
|
||||
end
|
||||
coroutine.yield()
|
||||
end, "client-listener")
|
||||
end)
|
||||
end, "client-listener")
|
||||
end)
|
||||
|
||||
network.tcp_connect("localhost", 7645, function (socket)
|
||||
socket:send(data)
|
||||
end)
|
||||
network.tcp_connect("localhost", 7645, function (socket)
|
||||
start_coroutine(function()
|
||||
local ptr = 1
|
||||
while ptr < #text do
|
||||
local n = math.random(1, 20)
|
||||
socket:send(string.sub(text, ptr, ptr + n - 1))
|
||||
ptr = ptr + n
|
||||
end
|
||||
socket:close()
|
||||
end, "data-sender")
|
||||
end)
|
||||
|
||||
app.sleep_until(function () return complete end)
|
||||
app.sleep_until(function () return complete end)
|
||||
server:close()
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue