Ejemplo n.º 1
0
int main(int argc,char **argv){
	kn_net_open();	
	kn_proactor_t p = kn_new_proactor();
	kn_sockaddr remote;
	kn_addr_init_un(&remote,argv[1]);
	int client_count = atoi(argv[2]);
	int i = 0;
	send_size = atoi(argv[3]);
	for(; i < client_count; ++i){
		kn_asyn_connect(p,0,SOCK_STREAM,NULL,&remote,on_connect,(void*)p,30000);
	} 
	while(1){
		kn_proactor_run(p,50);
	}
	return 0;
}
Ejemplo n.º 2
0
static int lua_getaddr(lua_State *L,int idx,kn_sockaddr *addr){
	if(!lua_istable(L,idx))
		return -1;
	lua_rawgeti(L,idx,1);
	int domain = lua_tointeger(L,-1);
	if(domain == AF_INET){
		lua_rawgeti(L,idx,2);
		const char *ip = lua_tostring(L,-1);
		lua_rawgeti(L,idx,3);
		uint32_t port = lua_tointeger(L,-1);
		kn_addr_init_in(addr,ip,port);
	}else if(domain == AF_LOCAL){
		lua_rawgeti(L,idx,2);
		const char *path = lua_tostring(L,-1);
		kn_addr_init_un(addr,path);
	}else{
		return -1;
	}
	return 0;
}
Ejemplo n.º 3
0
int main(int argc,char **argv){
	kn_net_open();	
	kn_proactor_t p = kn_new_proactor();
	kn_sockaddr local;
	unlink(argv[1]);
	kn_addr_init_un(&local,argv[1]);
	kn_listen(p,0,SOCK_STREAM,&local,on_accept,(void*)p);
 	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);
            totalbytes = (totalbytes/elapse)/1024;
			printf("client_count:%d,totalbytes:%lldMB/s\n",client_count,totalbytes);
			tick = now;
			totalbytes = 0;
		}		
	}
	return 0;
}