mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 19:13:07 +00:00
25 lines
548 B
Lua
25 lines
548 B
Lua
local skynet = require "skynet"
|
|
|
|
local service = {}
|
|
|
|
local function query(service_name, ...)
|
|
local s = service[service_name]
|
|
if s == nil then
|
|
service[service_name] = false
|
|
s = skynet.newservice(service_name, ...)
|
|
service[service_name] = s
|
|
end
|
|
return s
|
|
end
|
|
|
|
skynet.start(function()
|
|
skynet.dispatch("lua", function(session, address, service_name , ...)
|
|
local handle = query(service_name, ...)
|
|
skynet.ret(skynet.pack(handle))
|
|
end)
|
|
skynet.register(".service")
|
|
if skynet.getenv "standalone" then
|
|
skynet.register("SERVICE")
|
|
end
|
|
end)
|