学习云风的skynet也有很久了,但是一直无法得心应手,我以前没做过服务端,看C代码事没什么难度,但是整个架构会把我绕的很晕,也在群里说过自己的想法,希望有应对新接触服务端的入门文档,但是没办法,条件限制如此,我们还是得自己去看源代码,这里记录一下我学习过程中遇到的一些问题。
当我看到require "skynet.core"的时候有点疑惑,因为我并没有找到这样一个lua文件,但是找不到就无法继续学习下去,所以最后在C语言部分的代码中找到了luaopen_skynet_core,这就是skynet.core的C语言实现了,可以看一下其中包含的一些函数:
int
luaopen_skynet_core(lua_State *L) {
luaL_checkversion(L);
luaL_Reg l[] = {
{ "send" , lsend },
{ "genid", lgenid },
{ "redirect", lredirect },
{ "command" , lcommand },
{ "intcommand", lintcommand },
{ "error", lerror },
{ "tostring", ltostring },
{ "harbor", lharbor },
{ "pack", luaseri_pack },
{ "unpack", luaseri_unpack },
{ "packstring", lpackstring },
{ "trash" , ltrash },
{ "callbac