私が書いているネットワークライブラリは、TCPソケットを通してメッセージを送受信する必要があります。メッセージはいつでも送信または受信できます。つまり、全二重チャネルとして動作する必要があります。シングルスレッドでTCP上で全二重チャネルを実装する方法は?
2つのスレッドを使用してこのようなシナリオを実装することができました。メインスレッドはsend()を呼び出し、専用のスレッドは主にrecv()呼び出しでブロックしました。
私の質問です:単一のスレッドで同じシナリオを実装することは可能ですか?私。いくつかのコールバック関数を登録することによって?
補足として、このシナリオはC++、Java、Pythonで実装する必要があります。