added a timeout to net.recvstring

This commit is contained in:
Izaya 2017-08-03 12:24:54 +10:00
parent d234a9e4bf
commit 224d2160ac
1 changed files with 7 additions and 3 deletions

View File

@ -8,13 +8,17 @@ function net.sendstring(addr,port,msg) -- for sending lots of data
end end
end end
function net.recvstring(addr,port) function net.recvstring(addr,port)
local fr,po,msg = "" local t,fr,po,msg = {},"","",""
repeat repeat
_,fr,po,msg = event.pull("net_msg") t,fr,po,msg = event.pull("net_msg",10)
if not t then
return
end
until fr == addr and po == port until fr == addr and po == port
local ml,s = tonumber(msg), "" local ml,s = tonumber(msg), ""
for i = 1, ml do for i = 1, ml do
_,fr,po,msg = event.pull("net_msg") t,fr,po,msg = event.pull("net_msg",10)
if t == nil then break end
if fr == addr and po == port then if fr == addr and po == port then
s=s..tostring(msg) s=s..tostring(msg)
end end