int on_db_initfinish(lua_State *_){ printf("on_db_initfinish\n"); (void)_; //启动监听 kn_sockaddr lgameserver; kn_addr_init_in(&lgameserver,kn_to_cstr(g_config->lgameip),g_config->lgameport); kn_new_stream_server(t_proactor,&lgameserver,on_new_game); kn_sockaddr lgateserver; kn_addr_init_in(&lgateserver,kn_to_cstr(g_config->lgateip),g_config->lgateport); kn_new_stream_server(t_proactor,&lgateserver,on_new_gate); return 0; }
int main(int argc,char **argv) { kn_net_open(); kn_proactor_t p = kn_new_proactor(); kn_sockaddr local; kn_addr_init_in(&local,argv[1],atoi(argv[2])); kn_stream_server_t s = kn_new_stream_server(p,&local,new_client); uint64_t tick,now; tick = now = kn_systemms64(); while(1){ kn_proactor_run(p,50); now = kn_systemms64(); if(now - tick > 1000) { uint32_t elapse = (uint32_t)(now-tick); recvcount = recvcount*1000/elapse; printf("client_count:%d,recvcount:%d/s,buffer_count:%u\n",client_count,recvcount,buffer_count); tick = now; recvcount = 0; } } return 0; }