mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 03:53:09 +00:00
client message filter
This commit is contained in:
@@ -1,11 +1,24 @@
|
||||
local skynet = require "skynet"
|
||||
local client = ...
|
||||
|
||||
skynet.dispatch(function(msg, sz , session, address)
|
||||
local dispatch_handler = skynet.default_dispatch(function (msg,sz)
|
||||
local message = skynet.tostring(msg,sz)
|
||||
print("command source",address)
|
||||
local result = skynet.call("SIMPLEDB",message)
|
||||
skynet.send(address, result)
|
||||
skynet.ret(result)
|
||||
end)
|
||||
|
||||
local session_id = 0
|
||||
skynet.filter(function (session, address , msg, sz)
|
||||
if address == client then
|
||||
assert(session == 0)
|
||||
print("client message",skynet.tostring(msg,sz))
|
||||
-- It's client, there is no session
|
||||
session_id = session_id + 1
|
||||
session = - session_id
|
||||
else
|
||||
print("skynet message",msg,sz)
|
||||
end
|
||||
dispatch_handler(session,address, msg,sz)
|
||||
end)
|
||||
|
||||
skynet.start(function()
|
||||
|
||||
Reference in New Issue
Block a user