diff options
| author | ruki <[email protected]> | 2022-04-16 17:55:39 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-04-16 17:55:39 +0800 |
| commit | a9015a39af2eb9df9669a1ac84e83cf107863139 (patch) | |
| tree | 5946a977f17813951f7e9863d5591cba86c90475 | |
| parent | 714109541cda305c832588e9058b307f90455989 (diff) | |
fix stream size
| -rw-r--r-- | xmake/modules/private/service/stream.lua | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/xmake/modules/private/service/stream.lua b/xmake/modules/private/service/stream.lua index 5f9aa127b..954660eb4 100644 --- a/xmake/modules/private/service/stream.lua +++ b/xmake/modules/private/service/stream.lua @@ -115,8 +115,8 @@ end function stream:send_string(str) local buff = self._BUFF local size = #str - buff:u16be_set(1, size) - if self:send(buff, 1, 2) then + buff:u32be_set(1, size) + if self:send(buff, 1, 4) then return self:send(bytes(str), 1, size) end end @@ -127,8 +127,8 @@ function stream:send_file(filepath) -- send size local buff = self._BUFF local size = os.filesize(filepath) - buff:u16be_set(1, size) - if not self:send(buff, 1, 2) then + buff:u32be_set(1, size) + if not self:send(buff, 1, 4) then return end @@ -153,7 +153,7 @@ end -- recv the given bytes function stream:recv(buff, size) - assert(size <= buff:size()) + assert(size <= buff:size(), "too large size(%d)", size) -- read data from cache first local buffsize = 0 @@ -211,11 +211,11 @@ function stream:recv(buff, size) end end --- recv u16be -function stream:recv_u16be() - local data = self:recv(self._BUFF, 2) +-- recv u32be +function stream:recv_u32be() + local data = self:recv(self._BUFF, 4) if data then - return data:u16be(1) + return data:u32be(1) end end @@ -241,7 +241,7 @@ end -- recv string function stream:recv_string() - local size = self:recv_u16be() + local size = self:recv_u32be() if size then local data = self:recv(self._BUFF, size) if data then @@ -252,7 +252,7 @@ end -- recv file function stream:recv_file(filepath) - local size = self:recv_u16be() + local size = self:recv_u32be() if size then local buff = self._BUFF local recv = 0 |
