Abbruch einer Verbindung erkennen?

Status
Nicht offen für weitere Antworten.

AMiGA

Bekanntes Mitglied
Hallo,

ich habe folgendes Problem: ein Server soll beliebig viele eingehende Verbindungen akzeptieren und auf diese dann etwas ausgeben. Wenn ein Client keine Daten mehr empfangen will und sich beendet soll der Server dies automatisch erkennen, ohne dass eine Kommunikation Client -> Server notwendig ist. Das klappt aber leider nicht. Ich dachte, dass das socket dann ungültig wird oder ähnliches und ich durch eine IOException auf Serverseite mitbekommen würde, dass der Client nicht mehr vorhanden ist.

Realisiert habe ich es folgendermaßen:

Client:

Code:
socket = new Socket(InetAddress.getByName(host), port);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

while(isRunning)
{
    if((line = in.readLine()) != null)
    {
        // tu was
    }
}

// exit system:
in.close();
in = null;
socket.close();
socket = null;


...und den Server:

Code:
try
{
    out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
    out.println(msg);

    if(out.checkError())
    {
        // client ist nicht mehr da
    }

}
catch(IOException exc)
{
    // client ist nicht mehr da
}
 

Lim_Dul

Top Contributor
Eine IOExceptions gibt es leider meines Wissens nicht, wenn sich der Client einfach beendet.
Was du machen könntest, wäre regelmässig einen "PING" Befehl an der Client zu senden. Der Client darf den dann einfach ignorieren. Sollte der Client nicht mehr da sein, dann gibt es eine IOException
 

AMiGA

Bekanntes Mitglied
Ich habe es jetzt so gelöst, dass der Client sich abmeldet, d.h. vor dem Beenden kurz ein Ende-Signal sendet. Trotzdem danke!

Gruß,
AMiGA
 

Mag1c

Top Contributor
Hi,

solltest aber trotzdem einen Timeout einbauen. Bei abgeschossenen Clients, abgestürzten Rechnern und gekappten Netzverbindungen wird sich der Client nicht abmelden können und der Server-Thread hängt in der Luft ;)

Gruß
Mag1c
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Wiederverbinden nach socket Abbruch Netzwerkprogrammierung 1
Hindi93 Abbruch eines Programmes abfangen Netzwerkprogrammierung 8
E Socket OutputSream abbruch.Wegen zuviel !empfangener! Daten? Netzwerkprogrammierung 10
S Problem mit Dateiversand Abbruch. Netzwerkprogrammierung 4
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
N Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
O HTTP Einloggen auf einer Homepage Netzwerkprogrammierung 8
H Daten auf einer Webseite eintragen Netzwerkprogrammierung 11
Z Debug-Info einer JavaSE Applikation auf Webserver Netzwerkprogrammierung 0
S HTTP Würdet Ihr Euch bei einer intern genutzten Anwendung auf Cookies verlassen? Netzwerkprogrammierung 2
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
C Inhalt einer .JPG Datei in einen OutputStream schreiben? Netzwerkprogrammierung 10
D Überwachen einer SMB-Freigabe bei Änderungen im Dateisystem Netzwerkprogrammierung 0
L FTP Lesen einer Datei vom Server - Aufgehangen Netzwerkprogrammierung 0
M jsf-seite beim hinzufügen einer csv-datei in einen ordner aktualiseren Netzwerkprogrammierung 0
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
O HTTP Zugriff und Aktionen auf einer Webseite ausführen Netzwerkprogrammierung 9
S Automatischer Login auf einer Webseite Netzwerkprogrammierung 12
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
H Daten an Textfeld einer Webseite schicken Netzwerkprogrammierung 2
D Aus einer URL die Dateien lesen Netzwerkprogrammierung 5
Dit_ RMI RMI-Server und gleichzeitiger Aufruf einer Methode Netzwerkprogrammierung 14
T Ladezeit einer Seite mit HttpURLConnection und Bildern Netzwerkprogrammierung 2
M bild von einer url erzeugen Netzwerkprogrammierung 7
V Quelltaxt einer Website auslesen funktioniert nicht Netzwerkprogrammierung 2
V Angezeigten Text einer Website erfragen Netzwerkprogrammierung 4
P HttpClient - Daten einer Website "unvollständig" Netzwerkprogrammierung 5
A HTTP Download einer Datei mit "Statistiken" Netzwerkprogrammierung 2
S Port auf einer bestimmten IP-Adresse auslesen? Netzwerkprogrammierung 6
S netzwerkprotokoll auf basis einer tcp verbindung erstellen Netzwerkprogrammierung 9
G Kryptische Zeichen beim Auslesen einer Website Netzwerkprogrammierung 11
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
B Frage zu einer Lösung (RMI) Netzwerkprogrammierung 2
H HTTP Einloggen auf einer HTML (php) Seite Netzwerkprogrammierung 6
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
L Größe einer Datei auslesen die im Netz liegt Netzwerkprogrammierung 4
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
F Entwicklung einer Software zur Steuerung und Überwachung von Netzwerkgeräten Netzwerkprogrammierung 4
R Versenden einer MIME-Datei per E-Mail [solved] Netzwerkprogrammierung 5
C Problem mit Übertragung einer Klasse in RMI Netzwerkprogrammierung 10
Pithecanthropus Konzeptionelle Ausarbeitung einer synchronen Kommunkation (Server/Client)) Netzwerkprogrammierung 6
A attachment einer Mail speichern Netzwerkprogrammierung 5
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
J programm zum autom. ausdruck einer webseite Netzwerkprogrammierung 2
E Parameter einer URLConnection Netzwerkprogrammierung 12
G Unvollständiges Laden einer Seite Netzwerkprogrammierung 2
M Rechner einer Domäne auslesen? Netzwerkprogrammierung 3
KNeuhaus (Windows) Authentication VON einer Java-App aus. Netzwerkprogrammierung 2
Rontu Problem beim Übertragen einer Datei Netzwerkprogrammierung 9
D Content einer email in sql-datenbank speichern Netzwerkprogrammierung 9
M RMI direkte Verbindung mit einer Mysql datenbank Netzwerkprogrammierung 13
T Quelltext einer Website auslesen Netzwerkprogrammierung 3
ven000m Frage aus einer mündl. Prüfung - wer kennt die Antwort? Netzwerkprogrammierung 6
J Funktion zum Maskieren der Sonderzeichen einer URL Netzwerkprogrammierung 2
J Zeilenweises auslesen aus einer Datei über Server Netzwerkprogrammierung 6
C RMI: Problem beim Aufruf einer Methode. Falsch gecastet? Netzwerkprogrammierung 8
D Problem beim holen einer PHP-Seite via HttpClient Netzwerkprogrammierung 19
C IP adresse anhand einer domain adresse auslesen / ermitteln Netzwerkprogrammierung 3
V Einen Eintrag aus einer Zip Datei von einem Server laden Netzwerkprogrammierung 2
N Dateigröße einer Datei auf einem HTTP-/Web-Server. Netzwerkprogrammierung 9
V Zuweisen einer InetAddress mit einem byte Netzwerkprogrammierung 5
D Anmelden an einer Windows-Domäne Netzwerkprogrammierung 2
M Suche Klasse um Paramater zu einer URL hinzuzufügen. Netzwerkprogrammierung 3
B Url-Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
M Quellcode einer HTML Seite erhalten Netzwerkprogrammierung 2
G Performance einer verteilten RMI-Anwendung Netzwerkprogrammierung 4
B Laden einer *.csv Datei von einem Webserver (http-request) Netzwerkprogrammierung 8
clemson Größe einer Heruntergeladenen Datei Netzwerkprogrammierung 10
O Problem bei Überprüfung und Spliten von einer IP! Netzwerkprogrammierung 2
R Änderung einer Seite (Klasse URL) Netzwerkprogrammierung 2
I IP Adresse des Clients einer Socket Verbindung Netzwerkprogrammierung 2
G Redirects einer HttpURLConnection ermitteln Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Verbindung zu Geräten mit gleicher IP aber in unterschiedlichen VLans aufbauen Netzwerkprogrammierung 2
M Socket Socket lehnt Verbindung ab Netzwerkprogrammierung 3
IAmFloppy Socket Nachstellen der Verbindung Netzwerkprogrammierung 6
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
M Socket peer to peer Verbindung zwischen Java und Matlab Netzwerkprogrammierung 0
S Bluetooth Verbindung zwischen Android app und Raspberry Pi 3 Netzwerkprogrammierung 1
S Peer2Peer Verbindung trotz NAT Netzwerkprogrammierung 2
T VPN-Verbindung über Java Netzwerkprogrammierung 4
Aruetiise Socket Verbindung Überprüfen Netzwerkprogrammierung 18
F Socket Verbindung mit Verschlüsselung und Authentifierzung Netzwerkprogrammierung 1
F Probleme mit Connection Reset bei Telnet Verbindung Netzwerkprogrammierung 1
U Client Soap Verbindung wieder schließen Netzwerkprogrammierung 0
M Verbindung zwischen zwei Pc in dem Selben Netzwerk Netzwerkprogrammierung 8
P Socket Socket-Verbindung Input sehr langsam Netzwerkprogrammierung 1
S FTP Verbindung zu einem BS2000 Großrechner mit Commons Net Netzwerkprogrammierung 0
F Einfache Socket Verbindung Netzwerkprogrammierung 2
F Verbindung zwischen Server und handy Netzwerkprogrammierung 1
M TCP Verbindung Byte-weise lesen? Netzwerkprogrammierung 5
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
F TCP Client, verbindung aufrecht halten Netzwerkprogrammierung 0
I Swing hängt sich auf bei Verbindung zum Server Netzwerkprogrammierung 3
P RMI Hohe CPU Last RMI Verbindung Netzwerkprogrammierung 4
J Pc - Handy Verbindung? Netzwerkprogrammierung 3
M Socket 2x Proxy multithread-server mit Cross Verbindung Netzwerkprogrammierung 0

Ähnliche Java Themen


Oben