client message filter

This commit is contained in:
云风
2012-08-10 10:46:50 +08:00
parent c958a99b35
commit f57e98205d
5 changed files with 38 additions and 14 deletions

View File

@@ -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()