Ich habe eine Client-Server-App, wo der Client auf einem Windows Mobile 6-Gerät ist, in C++ geschrieben und der Server ist in vollem Windows und in C# geschrieben.Asynchrone Multi-Richtung-Server-Client-Kommunikation über den gleichen offenen Socket?
Ursprünglich brauchte ich es nur, um Nachrichten vom Client an den Server zu senden, wobei der Server immer nur eine Bestätigung zurücksand, dass er die Nachricht erhalten hatte. Jetzt möchte ich es aktualisieren, damit der Server tatsächlich eine Nachricht an den Client senden kann, um Daten anzufordern. Wie ich es derzeit eingerichtet habe, so dass der Client nur im Empfangsmodus ist, nachdem er Daten an den Server gesendet hat, erlaubt dies dem Server nicht, zu jeder Zeit eine Anfrage zu senden. Ich würde auf Kundendaten warten müssen. Mein erster Gedanke wäre, einen anderen Thread auf dem Client mit einem separaten offenen Socket zu erstellen, der auf Serveranforderungen lauschte ... genau wie der Server bereits in Bezug auf den Client. Gibt es einen Weg, innerhalb desselben Threads und mit dem gleichen Socket, an alle Server, um Anfragen zu senden?
Können Sie etwas mit dem Effekt von WaitForMultipleObjects()
verwenden und übergeben Sie einen Empfangspuffer und ein Ereignis, das ihm sagt, dass Daten gesendet werden sollen?