在这里当笔记记录一下,等学习完整后重新再整理一下。如果有误,麻烦路过的看官们指点一下。
skynet开启服务的API一般就是 skynet.newservice("simpledb") 开启了文件名字是simoledb的服务,主意config里面的路径配置,lua会配置路径下面寻找该服务。
另外还有一种,可以参考test里面的testsocket例子。
skynet.newservice(SERVICE_NAME, "agent", id)
SERVICE_NAME 代表本lua服务模块的名字,模块加载前在loader里面存着(详细可以去看lualib/loader.lua),agent 和 id 是作为可变参数,local mode , id = ...就是接收可变参数。详细参考例子 testsocket。接收到的参数都是字符串,且字符串中不可以有空格(否则会被分割成多个参数)。这种参数传递方式是历史遗留下来的,有很多潜在的问题,可能将来的版本会背抛弃。目前推荐的惯例是,让你的服务响应一个启动消息。在
newservice 之后,立刻调用 skynet.call
发送启动请求。参考simpledb的实现。