From fce4b6fee8ce38eabe24f5da9bedb87a5a6a21d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E9=A3=8E?= Date: Tue, 2 Jul 2013 20:59:17 +0800 Subject: [PATCH] dispatch must before skynet.start --- service/launcher.lua | 49 ++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/service/launcher.lua b/service/launcher.lua index d6ff9270..4fe0d5f7 100644 --- a/service/launcher.lua +++ b/service/launcher.lua @@ -77,29 +77,30 @@ end local instance = {} -skynet.start(function() - skynet.dispatch("text" , function(session, address , cmd) - if cmd == "" then - -- init notice - local reply = instance[address] - if reply then - skynet.redirect(reply.address , 0, "response", reply.session, skynet.address(address)) - instance[address] = nil - end - else - -- launch request - local service, param = string.match(cmd,"([^ ]+) (.*)") - local inst = skynet.launch(service, param) - if inst then - services[inst] = cmd - instance[inst] = { session = session, address = address } - else - skynet.ret("") - end +skynet.dispatch("text" , function(session, address , cmd) + if cmd == "" then + -- init notice + local reply = instance[address] + if reply then + skynet.redirect(reply.address , 0, "response", reply.session, skynet.address(address)) + instance[address] = nil end - end) - skynet.dispatch("lua", function(session, address, cmd , ...) - cmd = string.upper(cmd) - command[cmd](...) - end) + else + -- launch request + local service, param = string.match(cmd,"([^ ]+) (.*)") + local inst = skynet.launch(service, param) + if inst then + services[inst] = cmd + instance[inst] = { session = session, address = address } + else + skynet.ret("") + end + end end) + +skynet.dispatch("lua", function(session, address, cmd , ...) + cmd = string.upper(cmd) + command[cmd](...) +end) + +skynet.start(function() end)