看完skynet文档,尝试阅读分析下示例,欢迎指正
源码下载地址: Git地址git
首先从service/main.lua开始github
local skynet = require "skynet"
local config = require "config.system"
local login_config = require "config.loginserver"
local game_config = require "config.gameserver"
skynet.start(function()
-- 启动debug_console控制台服务
skynet.newservice ("debug_console", config.debug_port)
-- 启动protod服务
skynet.newservice ("protod")
-- 启动database服务
-- 默认情况下uniquesservice是不跨节点的,若是须要全局惟一的服务,在参数前加个true
-- skynet.uniqueservice为告终局系统中一类事务只需一个服务的状况
-- 若是同名服务已启动,则返回前一次启动的服务的地址
-- 可使用skynet.queryservice来查询已有服务,若是不存在,则一直阻塞到服务启动为止
skynet.uniqueservice ("database")
-- 启动loginserver服务
local loginserver = skynet.newservice ("loginserver")
-- 调用loginserver服务中的open接口, 参数login_config配置
skynet.call (loginserver, "lua", "open", login_config)
-- 启动gamed服务
local gamed = skynet.newservice ("gamed", loginserver)
-- 调用gamed服务中的open接口, 参数game_config配置
skynet.call (gamed, "lua", "open", game_config)
end)