mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 03:53:09 +00:00
c/s json protocol example
This commit is contained in:
@@ -19,16 +19,31 @@ local function dispatch()
|
||||
break
|
||||
end
|
||||
for _, v in ipairs(result) do
|
||||
print(v)
|
||||
local session,t,str = string.match(v, "(%d+)(.)(.*)")
|
||||
assert(t == '-' or t == '+')
|
||||
session = tonumber(session)
|
||||
local result = cjson.decode(str)
|
||||
print("Response:",session, result)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local session = 0
|
||||
|
||||
local function send_request(v)
|
||||
session = session + 1
|
||||
local str = string.format("%d+%s",session, cjson.encode(v))
|
||||
socket.send(fd, str)
|
||||
print("Request:", session)
|
||||
end
|
||||
|
||||
while true do
|
||||
dispatch()
|
||||
local cmd = socket.readline()
|
||||
if cmd then
|
||||
socket.send(fd, cmd)
|
||||
local args = {}
|
||||
string.gsub(cmd, '[^ ]+', function(v) table.insert(args, v) end )
|
||||
send_request(args)
|
||||
else
|
||||
socket.usleep(100)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user