P
Philipp84
Gast
Hi!
Ich würde gerne meine Socket-Anwendung optimieren, was die Kommunikation von Client und Server angeht.
Folgende Ausgangssituation:
1 Server
2 Clients
Die Clients connecten sich zum Server und warten auf eingehende Nachrichten von diesem.
Der Server arbeitet threadbasiert.
Speziell geht es mir jetzt um die Frage, wie genau ich herausfinde, ob für den Client eine neue Nachricht anliegt.
Bisher habe ich es so gelöst:
Das funktioniert an sich auch. Allerdings habe ich das Problem, dass Nachrichten dadurch erst verzögert ankommen - eben durch den vorgegebenen Zeitabstand. Außerdem ist das ganze auch alles andere als ressourcenschonend.
Welche anderen Möglichkeiten fallen Euch dazu ein? :meld:
Ich würde gerne meine Socket-Anwendung optimieren, was die Kommunikation von Client und Server angeht.
Folgende Ausgangssituation:
1 Server
2 Clients
Die Clients connecten sich zum Server und warten auf eingehende Nachrichten von diesem.
Der Server arbeitet threadbasiert.
Speziell geht es mir jetzt um die Frage, wie genau ich herausfinde, ob für den Client eine neue Nachricht anliegt.
Bisher habe ich es so gelöst:
Code:
while( true )
{
if( DATA_IN.available() != 0 )
{ MyTranslator.translate( DATA_IN.readLine() ); }
// in bestimmtem Zeitabstand wiederholen
Thread.sleep( 500 );
}
Das funktioniert an sich auch. Allerdings habe ich das Problem, dass Nachrichten dadurch erst verzögert ankommen - eben durch den vorgegebenen Zeitabstand. Außerdem ist das ganze auch alles andere als ressourcenschonend.
Welche anderen Möglichkeiten fallen Euch dazu ein? :meld: