Die Netzwerkbibliothek, die ich schreibe, muss Nachrichten über einen TCP-Socket senden und empfangen. Nachrichten können jederzeit gesendet oder empfangen werden, d. H. Sie sollten als Vollduplexkanal arbeiten.Wie implementiert man einen Vollduplex-Kanal über TCP mit einem einzigen Thread?
Ich war in der Lage, ein solches Szenario mit zwei Threads zu implementieren: Haupt-Thread-Aufruf send() und ein dedizierter Thread meist bei recv() Anruf blockiert.
Meine Frage ist: Ist es möglich, das gleiche Szenario mit einem einzigen Thread zu implementieren? I.e. durch Registrierung einiger Callback-Funktionen?
Als eine Randnotiz: Ich muss dieses Szenario in C++, Java und Python implementieren.