int main(int argc,char **argv) { mutil_thread = 0; setup_signal_handler(); init_clients(); InitNetSystem(); ENGINE engine = CreateEngine(); int csize = atoi(argv[3]); int i = 0; for(; i < csize; ++i) EConnect(engine,argv[1],atoi(argv[2]),(void*)engine,on_connect,1000); uint32_t tick,now; tick = now = GetSystemMs(); while(!stop) { EngineRun(engine,50); sendpacket(); now = GetSystemMs(); if(now - tick > 1000) { printf("ava_interval:%d\n",ava_interval); tick = now; } } CleanNetSystem(); return 0; }
int main(int argc,char **argv) { //msgque_flush_time = 5; setup_signal_handler(); InitNetSystem(); //共用网络层,两个线程各运行一个echo服务 wpacket_allocator = new_obj_allocator(sizeof(struct wpacket),8192); rpacket_allocator = new_obj_allocator(sizeof(struct rpacket),8192); asynnet_t asynet = asynnet_new(2); msgdisp_t disp1 = new_msgdisp(asynet,5, CB_CONNECT(asynconnect), CB_CONNECTED(asynconnected), CB_DISCNT(asyndisconnected), CB_PROCESSPACKET(asynprocesspacket), CB_CONNECTFAILED(asynconnectfailed)); /*msgdisp_t disp2 = new_msgdisp(asynet, asynconnect, asynconnected, asyndisconnected, asynprocesspacket, asynconnectfailed); */ thread_t service1 = create_thread(THREAD_JOINABLE); //thread_t service2 = create_thread(THREAD_JOINABLE); ip = argv[1]; port = atoi(argv[2]); thread_start_run(service1,service_main,(void*)disp1); //sleepms(1000); //thread_start_run(service2,service_main,(void*)disp2); uint32_t tick,now; tick = now = GetSystemMs(); while(!stop){ sleepms(1000); now = GetSystemMs(); //if(now - tick > 1000) { uint32_t elapse = now-tick; recvsize = (recvsize/elapse)/1000; printf("client_count:%d,recvsize:%d,recvcount:%d\n",client_count,recvsize,recvcount); tick = now; packet_send_count = 0; recvcount = 0; recvsize = 0; } } thread_join(service1); //thread_join(service2); CleanNetSystem(); return 0; }
int main(int argc,char **argv) { setup_signal_handler(); InitNetSystem(); struct netservice *tcpclient = new_service(); tcpclient->connect(tcpclient,"127.0.0.1",8010,(void*)tcpclient,on_connect,10000); while(!stop){ tcpclient->loop(tcpclient,50); } destroy_service(&tcpclient); CleanNetSystem(); return 0; }
int main(int argc,char **argv) { ENGINE engine; uint32_t n; ip = argv[1]; port = atoi(argv[2]); if(InitNetSystem() != 0) { printf("Init error\n"); return 0; } wpacket_allocator = (allocator_t)create_block_obj_allocator(SINGLE_THREAD,sizeof(struct wpacket)); uint32_t i = 0; init_clients(); engine = CreateEngine(); thread_run(_Listen,&engine); tick = GetSystemMs(); while(1) { EngineRun(engine,50); now = GetSystemMs(); if(now - tick > 1000) { printf("recv:%u,send:%u,s_req:%u,total_recv:%u\n",packet_recv,packet_send,send_request,total_bytes_recv/1024/1024); tick = now; packet_recv = 0; packet_send = 0; send_request = 0; iocp_count = 0; total_bytes_recv = 0; //printf("w:%d,r:%d,b:%d\n",wpacket_count,rpacket_count,buf_count); } /* if(now - last_send_tick > 10) { last_send_tick = now; for(i=0; i < MAX_CLIENT; ++i) { if(clients[i]) { connection_send(clients[i],NULL,NULL); } } }*/ } CleanNetSystem(); return 0; }
int main(int argc,char **argv) { setup_signal_handler(); InitNetSystem(); asynnet_t asynet = asynnet_new(3);//3个poller,1个用于监听,1个用于处理客户端连接,1个用于处理服务器连接 msgdisp_t disp_to_server = new_msgdisp(asynet,3, CB_CONNECT(to_server_connect), CB_CONNECTED(to_server_connected), CB_PROCESSPACKET(to_server_process)); msgdisp_t disp_to_client = new_msgdisp(asynet,2, CB_CONNECT(to_client_connect), CB_ASYNPROCESSPACKET(to_client_process)); thread_t service1 = create_thread(THREAD_JOINABLE); thread_t service2 = create_thread(THREAD_JOINABLE); to_client_ip = argv[1]; to_client_port = atoi(argv[2]); to_server_ip = argv[3]; to_server_port = atoi(argv[4]); thread_start_run(service1,service_toserver,(void*)disp_to_server); sleepms(1000); thread_start_run(service2,service_toclient,(void*)disp_to_client); while(!stop){ sleepms(100); } thread_join(service1); thread_join(service2); CleanNetSystem(); return 0; }
int main(int argc,char **argv) { mutil_thread = 0; setup_signal_handler(); init_clients(); InitNetSystem(); struct netservice *tcpserver = new_service(); tcpserver->listen(tcpserver,argv[1],atoi(argv[2]),(void*)tcpserver,accept_client); uint32_t tick,now; tick = now = GetSystemMs(); while(!stop){ tcpserver->loop(tcpserver,50); now = GetSystemMs(); if(now - tick > 1000) { printf("client_count:%d,send_count:%d\n",client_count,(packet_send_count*1000)/(now-tick)); tick = now; packet_send_count = 0; } } destroy_service(&tcpserver); CleanNetSystem(); return 0; }