Client Timeout auffangen

PauG

Mitglied
Moin moin,

habe mal ein Client - Server Modell in Java mittels Sockets implementiert. Der Server is hierbei der "Hörer" und akzeptiert dauernd neue connections, falls Clients versuchen sich zum Server zu verbinden. Der Server muss hierbei logischerweise auch die Möglichkeit haben zu sehen ob ein Client noch "lebt", umso keinen Überlauf zu produzieren. Wie könnte ich dies realisieren?
 
Warum machst du das selber? Es gibt ne Menge APIs, die dir so etwas bereits mitliefern, wie z.B. Mina, JBoss Remoting, JGroups, ...

Prinzip: Ping und Pong regelmäßig über die Leitung schicken und angekommene bzw. fehlende Nachrichten auswerten und bewerten.
Aber wie gesagt: mach es nicht selber, nimm ein sinnvolles Framework.
 
Danke für den Hinweis, habe mich jetzt für Mina entschieden und mir bereits ein paar Beispiele angeschaut. Es scheint ja tatsächlich relativ einfach zu sein.

Was jedoch unklar blieb ist, wie ich mit mehreren Verbindungen umgehe. Muss ich dafür jedes mal einen neuen NioSocketAcceptor() instanzieren? Reicht es, wenn ich einfach durch die bind-Methode loope? Ist diese blockierend? Wo verarbeite ich die einzelnen Anfragen der Clients nun, in genau ein und demselben Handler? (Dies läge nahe, weil die Methoden des Handler auch immer die Session mitsichführen um so offensichtlich eine eindeutige Identifikation zu ermöglichen)
 

Neue Themen


Zurück
Oben