static void on_connected(int32_t fd,int32_t err,void *ud){ if(fd >= 0 && err == 0){ engine *e = (engine*)ud; connection *c = connection_new(fd,65535,rpacket_decoder_new(1024)); engine_associate(e,(handle*)c,on_packet); timer *t = engine_regtimer(e,20,timer_callback,c); c->ud_ptr = t; //packet *p = (packet*)wpacket_new(64); //wpacket_write_uint64((wpacket*)p,(uint64_t)c); //wpacket_write_string((wpacket*)p,"hello world\n"); //connection_send(c,p,NULL); }else{ printf("connect error\n"); } }
int main(int argc,char **argv){ signal(SIGPIPE,SIG_IGN); engine *e = engine_new(); sockaddr_ server; if(0 != easy_sockaddr_ip4(&server,argv[1],atoi(argv[2]))){ printf("invaild address:%s\n",argv[1]); } int32_t fd = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); easy_addr_reuse(fd,1); if(0 == easy_bind(fd,&server)){ dgram_socket_ *udpserver = new_datagram_socket(fd); engine_associate(e,udpserver,datagram_callback); datagram_socket_recv(udpserver,(iorequest*)new_request(),IO_POST,NULL); engine_regtimer(e,1000,timer_callback,NULL); engine_run(e); } return 0; }
int main(int argc,char **argv){ if(argc < 2){ printf("useage redis_streass set/get\n"); exit(0); } int i; int testset = 0; signal(SIGPIPE,SIG_IGN); engine *e = engine_new(); sockaddr_ server; easy_sockaddr_ip4(&server,"127.0.0.1",6379); redis_conn *redis_client = redis_connect(e,&server,on_disconnect); if(!redis_client){ printf("connect to redis server %s:%u error\n","127.0.0.1",6379); return 0; } if(argc >= 2 && strcmp(argv[1],"set") == 0) testset = 1; for(i = 0; i < 1000; ++i){ char buff[1024]; if(!testset){ //snprintf(buff,1024,"hmget chaid:%d chainfo skills",i + 1); int tmp = i + 1; redis_execute(redis_client,"hmget chaid:1 chainfo skills",cmd_callback,(void*)tmp); }else{ snprintf(buff,1024,"hmset chaid:%d chainfo %s skills %s", i + 1,"fasfsafasfsaf\rasfasfasdfsadfasdfasdfasfdfasdfasfdasdfasdf", "fasdfasfasdfdsafdsafs\nadfsafa\r\nsdfsadfsadfasdfsadfsdafsdafsadfsdf" ); redis_execute(redis_client,buff,NULL,NULL); } } engine_regtimer(e,1000,timer_callback,NULL); last = systick64(); engine_run(e); return 0; }