TCP/IP Socketserver をプログラミングしています。
私の問題は、(たとえば) サーバーに telnet を実行してデータを送信しないと、accept 呼び出しがブロックされ、新しい着信接続を受け入れないことです。
何かを送信するか、telnet を終了すると、accept がブロックを停止し、送信されたデータを処理して、accept を開始し、新しい着信接続を受け入れることができます。
main() {
socket = bind_listen();
while(1) {
user_socket = accept(socket);
ssl = SSL_new(ctx);
SSL_set_fd(ssl, user_socket);
SSL_accept(ssl);
event.data.fd = user_socket;
event.events = EPOLLIN | EPOLLONESHOT;
epoll_proof = epoll_ctl(poll_fd, EPOLL_CTL_ADD, user_socket, &event);
}
}
epoll_wait() を実行してデータを処理するスレッドがいくつかあります。何か案が?ありがとう!