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