mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 11:03:12 +00:00
Merge branch 'master' of github.com:cloudwu/skynet
This commit is contained in:
@@ -2,7 +2,10 @@ package.cpath = "luaclib/?.so"
|
||||
|
||||
local socket = require "clientsocket"
|
||||
local crypt = require "crypt"
|
||||
local bit32 = require "bit32"
|
||||
|
||||
if _VERSION ~= "Lua 5.3" then
|
||||
error "Use lua 5.3"
|
||||
end
|
||||
|
||||
local fd = assert(socket.connect("127.0.0.1", 8001))
|
||||
|
||||
@@ -93,26 +96,14 @@ print("login ok, subid=", subid)
|
||||
|
||||
local function send_request(v, session)
|
||||
local size = #v + 4
|
||||
local package = string.char(bit32.extract(size,8,8))..
|
||||
string.char(bit32.extract(size,0,8))..
|
||||
v..
|
||||
string.char(bit32.extract(session,24,8))..
|
||||
string.char(bit32.extract(session,16,8))..
|
||||
string.char(bit32.extract(session,8,8))..
|
||||
string.char(bit32.extract(session,0,8))
|
||||
|
||||
local package = string.pack(">I2", size)..v..string.pack(">I4", session)
|
||||
socket.send(fd, package)
|
||||
return v, session
|
||||
end
|
||||
|
||||
local function recv_response(v)
|
||||
local content = v:sub(1,-6)
|
||||
local ok = v:sub(-5,-5):byte()
|
||||
local session = 0
|
||||
for i=-4,-1 do
|
||||
local c = v:byte(i)
|
||||
session = session + bit32.lshift(c,(-1-i) * 8)
|
||||
end
|
||||
local size = #v - 5
|
||||
local content, ok, session = string.unpack("c"..tostring(size).."B>I4", v)
|
||||
return ok ~=0 , content, session
|
||||
end
|
||||
|
||||
@@ -132,11 +123,7 @@ end
|
||||
local readpackage = unpack_f(unpack_package)
|
||||
|
||||
local function send_package(fd, pack)
|
||||
local size = #pack
|
||||
local package = string.char(bit32.extract(size,8,8))..
|
||||
string.char(bit32.extract(size,0,8))..
|
||||
pack
|
||||
|
||||
local package = string.pack(">s2", pack)
|
||||
socket.send(fd, package)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user