Netzwerkprogrammierung => Is connection alive?

mariusmeier

Mitglied
Hallo zusammen

Wenn man eine TCP Verbindung via Sockets aufbaut, ist es dann auch möglich festzustellen, ob die Verbindung zum Client noch existiert (Kabel rausgezogen, Programm beendet, Absturz). Wie soll man dies am besten abfragen? Alle Methoden welche von den Sockets zu Verfügung gestellt werden (isClosed, isBound, etc.) nützen mir nichts. Muss man da selber Handanlegen und die Verbindung mit einem expliziten write read überprüfen? Oder wie macht ihr dass?

MFG
 
G

Gast2

Gast
Die einzige Möglichkeit die ich kenne ist einfach Daten zu senden und schauen ob die ankommen (keine Exception bei write => Client hat Daten empfangen).
Client und Server müssen sich dann auf ne bestimmte Folge einigen die der Client dann einfach ignoriert bzw. wegschmeißt.

Je nach Anwendungsfall machts aber nicht unbedingt sinn diese Socketverbindung immer offen zu halten.
Wenn der Client was will dann baut er sich ne Verbindung auf, die beiden tauschen Daten aus und die Verbindung wird wieder beendet.

Falls du nur wissen willst ob nen Rechner noch erreichbar ist: vllt nen Ping senden?
 
M

Marcinek

Gast
Hallo,

wenn du eine TCP Verbindung aufbaust und diese durch dein gegenüber geschlossen worden ist, dann bekommst du eine entsprechende Exception von dem unterliegenden Layer.

Wenn du selber eine Verbindung beendest, dann weißt du wann du das tust.

Gruß,

Martin
 

faetzminator

Gesperrter Benutzer
Wenn du dir z.B. das IRC Protokoll anschaust, siehst du dort das Ping-Prinzip. Der Server (und je nach dem auch Client) ab und zu ein PING Paket, welches der Client (bzw. Server) innerhalb einer gewissen Zeit mit PONG und dem dazugehörigen Code (damit der Ping identifiziert werden kann) beantwortet. Ist der Pong nicht eingetroffen, wird die Verbindung geschlossen und vernichtet.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Warum wird mir nichts angezeigt? Netzwerkprogrammierung Java Basics - Anfänger-Themen 1
T Netzwerkprogrammierung Anfang Java Basics - Anfänger-Themen 9
T NetzwerkProgrammierung Java Basics - Anfänger-Themen 4
J Netzwerkprogrammierung Client/Server Java Basics - Anfänger-Themen 16
Hallolu PONG Parent-Child connection Java Basics - Anfänger-Themen 3
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
G sql server connection mit windows authentication Java Basics - Anfänger-Themen 2
X Connection reset, wieso? Java Basics - Anfänger-Themen 4
P java.net.ConnectException: Connection refused: connect Java Basics - Anfänger-Themen 8
S Input/Output URL Connection Problem Java Basics - Anfänger-Themen 5
H Connection Java Basics - Anfänger-Themen 9
B Prüfung auf erfolgreiche Connection? Java Basics - Anfänger-Themen 2
K Frage zu einer Connection in Java Java Basics - Anfänger-Themen 3
R JDK installieren Nach Update auf java 1.7 Connection refused Java Basics - Anfänger-Themen 9
M "Connection reset" gbxRemote Socket Java Basics - Anfänger-Themen 9
D Mysql Connection Close? Java Basics - Anfänger-Themen 14
B JDBC DB2 Connection Java Basics - Anfänger-Themen 1
D Facebook Connection problem Java Basics - Anfänger-Themen 2
M Audio Stream läuft auf :connection abort: socket write error Java Basics - Anfänger-Themen 2
G java.sql.Connection Connect ungleich null, aber geschlossen Java Basics - Anfänger-Themen 2
G JavaMail: Unrecognized SSL message, plaintext connection? Java Basics - Anfänger-Themen 3
G EJB - ConnectionPooling: Wie Connection erhalten? Java Basics - Anfänger-Themen 10
A Connection Prob Java Basics - Anfänger-Themen 3
S MySQL - connection Java Basics - Anfänger-Themen 8
J Kleine Connection Frage Java Basics - Anfänger-Themen 4
B java.net.ConnectException: Connection refused: connect ? Java Basics - Anfänger-Themen 2
T MySQL connection Java Basics - Anfänger-Themen 7
G db connection Java Basics - Anfänger-Themen 2
L Connection Pooling Grundlagenfragen Java Basics - Anfänger-Themen 2
K JDBC - Typ Connection in jeder Klasse neu öffnen? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben