int main(int argc, char *argv[]) { const char * config_file = "config"; if (argc > 1) { config_file = argv[1]; } skynet_env_init(); sigign(); struct skynet_config config; // lua 相关的一些初始化 struct lua_State *L = luaL_newstate(); luaL_openlibs(L); // link lua lib lua_close(L); L = luaL_newstate(); int err = luaL_dofile(L, config_file); if (err) { fprintf(stderr,"%s\n",lua_tostring(L,-1)); lua_close(L); return 1; } // 初始化 lua 环境 _init_env(L); const char *path = optstring("lua_path","./lualib/?.lua;./lualib/?/init.lua"); setenv("LUA_PATH",path,1); const char *cpath = optstring("lua_cpath","./luaclib/?.so"); setenv("LUA_CPATH",cpath,1); optstring("luaservice","./service/?.lua"); // 加载配置项 config.thread = optint("thread",8); config.module_path = optstring("cpath","./service/?.so"); config.logger = optstring("logger",NULL); config.harbor = optint("harbor", 1); config.master = optstring("master","127.0.0.1:2012"); config.start = optstring("start","main.lua"); config.local = optstring("address","127.0.0.1:2525"); config.standalone = optstring("standalone",NULL); lua_close(L); skynet_start(&config); printf("skynet exit\n"); return 0; }
int main(int argc, char *argv[]) { const char * config_file = "config"; if (argc > 1) { config_file = argv[1]; } skynet_globalinit(); skynet_env_init(); #if !defined(__WIN32__) sigign(); #endif struct skynet_config config; struct lua_State *L = lua_newstate(skynet_lalloc, NULL); luaL_openlibs(L); // link lua lib lua_close(L); L = luaL_newstate(); int err = luaL_dofile(L, config_file); if (err) { fprintf(stderr,"%s\n",lua_tostring(L,-1)); lua_close(L); return 1; } _init_env(L); #ifdef LUA_CACHELIB printf("Skynet lua code cache enable\n"); #endif config.thread = optint("thread",8); config.module_path = optstring("cpath","./cservice/?.dll"); config.harbor = optint("harbor", 1); config.bootstrap = optstring("bootstrap","snlua bootstrap"); lua_close(L); skynet_start(&config); skynet_globalexit(); printf("skynet exit\n"); return 0; }
int main(int argc, char *argv[]) { #if defined(__WIN32__) WSADATA WSAData; if(WSAStartup(MAKEWORD(2, 2), &WSAData))//初始化 { printf("initializationing error!\n"); WSACleanup(); exit(0); } #endif const char * config_file = "config"; if (argc > 1) { config_file = argv[1]; } skynet_globalinit(); skynet_env_init(); #if !defined(__WIN32__) sigign(); #endif struct skynet_config config; struct lua_State *L = lua_newstate(skynet_lalloc, NULL); luaL_openlibs(L); // link lua lib lua_close(L); L = luaL_newstate(); int err = luaL_dofile(L, config_file); if (err) { fprintf(stderr,"%s\n",lua_tostring(L,-1)); lua_close(L); return 1; } _init_env(L); #ifdef LUA_CACHELIB printf("Skynet lua code cache enable\n"); #endif config.thread = optint("thread",8); config.module_path = optstring("cpath","./cservice/?.so"); config.logger = optstring("logger",NULL); config.harbor = optint("harbor", 1); config.master = optstring("master","127.0.0.1:2012"); config.bootstrap = optstring("bootstrap","snlua bootstrap"); config.local = optstring("address","127.0.0.1:2525"); config.standalone = optstring("standalone",NULL); lua_close(L); skynet_start(&config); skynet_globalexit(); printf("skynet exit\n"); return 0; }