mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 20:23:06 +00:00
c/s json protocol example
This commit is contained in:
19
lualib/jsonpack.lua
Normal file
19
lualib/jsonpack.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
local cjson = require "cjson"
|
||||
|
||||
local jsonpack = {}
|
||||
|
||||
function jsonpack.pack(session, v)
|
||||
return string.format("%d+%s", session, cjson.encode(v))
|
||||
end
|
||||
|
||||
function jsonpack.response(session, v)
|
||||
return string.format("%d-%s",session, cjson.encode(v))
|
||||
end
|
||||
|
||||
function jsonpack.unpack(msg)
|
||||
local session,t,str = string.match(msg, "(%d+)(.)(.*)")
|
||||
assert(t == '+')
|
||||
return tonumber(session) , cjson.decode(str)
|
||||
end
|
||||
|
||||
return jsonpack
|
||||
Reference in New Issue
Block a user