int32_t bind2engine(ENGINE e,struct connection *c, CCB_PROCESS_PKT cb_process_packet,CCB_DISCONNECT cb_disconnect) { c->cb_process_packet = cb_process_packet; c->cb_disconnect = cb_disconnect; start_recv(c); return Bind2Engine(e,c->socket,IoFinish,NULL); }
void accept_callback(SOCK s,void *ud) { ENGINE *engine = (ENGINE*)ud; struct connection *c = connection_create(s,0,SINGLE_THREAD,on_process_packet,remove_client); add_client(c); setNonblock(s); connection_start_recv(c); Bind2Engine(*engine,s,RecvFinish,SendFinish,NULL); }
void accept_callback(HANDLE s,void *ud) { HANDLE *engine = (HANDLE*)ud; struct connection *c = connection_create(s,0,SINGLE_THREAD,on_process_packet,remove_client); printf("cli fd:%d\n",s); setNonblock(s); //·¢³öµÚÒ»¸ö¶ÁÇëÇó connection_start_recv(c); Bind2Engine(*engine,s,RecvFinish,SendFinish); }
void accept_callback(HANDLE s,void *ud) { HANDLE *engine = (HANDLE*)ud; struct connection *c = connection_create(s,0,0,on_process_packet,remove_client); add_client(c); printf("cli fd:%d\n",s); setNonblock(s); //发出第一个读请求 connection_start_recv(c); Bind2Engine(*engine,s,RecvFinish,SendFinish); }
void accept_callback(SOCKET s,void *ud) { DWORD err_code = 0; HANDLE *iocp = (HANDLE*)ud; struct connection *c = connection_create(s,1,on_process_packet,remove_client); add_client(c); //++clientcount; printf("cli fd:%d\n",s); Bind2Engine(*iocp,(Socket_t)c); //发出第一个读请求 connection_recv(c); }