c/s json protocol example

This commit is contained in:
Cloud Wu
2014-04-14 21:21:47 +08:00
parent 904b68b5a5
commit 98c9059a60
6 changed files with 126 additions and 95 deletions

19
lualib/jsonpack.lua Normal file
View 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