我需要設置一個TCP套接字並向服務器發送消息,然後與服務器進行SSL協商並在SSL中進行後續數據交換。我需要使用libevent來實現這個功能,因爲它沒有阻塞,所以我可以同時有很多連接。libevent,在
我可以得到的連接設置和清晰的文本交換一些數據:
struct bufferevent *bev = bufferevent_socket_new(base, -1, BEV_OPT_CLOSE_ON_FREE);
struct sockaddr_in addr;
//fill the addr with ip and port
bufferevent_socket_connect(bev, (struct sockaddr *)&addr, sizeof(struct sockaddr_in));
//send data
evbuffer_add(bufferevent_get_output(bev), data, len);
的問題是,libevent的似乎只有一個API來完成SSL,但它假定bufferevent對象尚未創建。
bufferevent_openssl_socket_new
感謝您的任何建議。