diff options
| author | ruki <[email protected]> | 2022-04-07 22:41:50 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-04-07 22:41:50 +0800 |
| commit | 226351fea82959c5f80bda68546411099e7b4074 (patch) | |
| tree | 8cb0eb6583123a6912815a7264cd315416e9c52b /xmake/modules/private/service/server/server.lua | |
| parent | da0d547ca4cbfe5fd61e173d398460874d0e758e (diff) | |
improve stream recv
Diffstat (limited to 'xmake/modules/private/service/server/server.lua')
| -rw-r--r-- | xmake/modules/private/service/server/server.lua | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/xmake/modules/private/service/server/server.lua b/xmake/modules/private/service/server/server.lua index 96adf49dd..534a2da15 100644 --- a/xmake/modules/private/service/server/server.lua +++ b/xmake/modules/private/service/server/server.lua @@ -120,24 +120,11 @@ end -- handle session function server:_handle_session(sock) print("%s: %s session connected", self, sock) - local real = 0 - local recv = 0 - local data = nil - local wait = false - local buff = bytes(8192) + local rstream = stream(sock) while true do - real, data = sock:recv(buff, 8192) - if real > 0 then - if data then - end - recv = recv + real - wait = false - elseif real == 0 and not wait then - if sock:wait(socket.EV_RECV, -1) == socket.EV_RECV then - wait = true - else - break - end + local data = rstream:recv_string() + if data then + print("%s", data) else break end |
