하나의 스레드에서 여러 서버에 여러 개의 tcp 연결을 생성하는 데 libevent를 사용할 수 있습니까? 그러한 작업의 샘플 구현을 작성해 주시겠습니까?libevent 또는 boost :: asio를 사용하여 단일 스레드에서 다중 tcp 연결. 있을 수있다?
내가 그렇게하지만 바로 확인되지 않은 : 또한
...
int num_of_connect = 5; /*for example*/
struct event_base *evbase;
struct bufferevent *bev[num_of_connect];
struct sockaddr_in sin[num_of_connect];
evbase = event_base_new();
for(int i=0;i<=(num_of_connect-1);i++){
sin[i].sin_family = AF_INET;
sin[i].sin_addr.s_addr = inet_addr(/*some addr*/);
sin[i].sin_port = htons(/*some port*/);
bev[i] = bufferevent_socket_new(evbase, -1, BEV_OPT_CLOSE_ON_FREE);
bufferevent_setcb(bev[i], cb_evread, cb_evwrite, cb_event, NULL);
bufferevent_socket_connect(bev[i], (struct sockaddr *)&sin[i], sizeof(struct sockaddr_in));
}
event_base_dispatch(evbase);
...
는 유사한 부스트 :: ASIO를 사용하여 구현 될 수있다? 예)?