Timeout von connect

Iron Monkey

Bekanntes Mitglied
Hi!

Java:
csock.connect( clientSocketAdr, 2000 );

In der Socket-Dokumentation steht nur drin: Connects this socket to the server with a specified timeout value.

Dies ist mir aber noch nicht ganz klar, was genau das Timeout für die Socket-Verbindung macht! Was passiert dann mit der Socket-Verbindung, wenn die 2 Sekunden vorbei sind?

Was passiert, wenn ich die 2 Sekunden auch in setSOTimeout setze? Macht das auch einen Sinn?

Gruß
Iron Monkey
 
Zuletzt bearbeitet:

MQue

Top Contributor
Also ich würd mal auf die schnelle sagen, dass innerhalb der 2000ms eine Connection erzeugt werden muss, sonst zieht eine Exception (SocketTimeoutException).
 

Iron Monkey

Bekanntes Mitglied
Ich möchte ein Beispiel geben, was ich unbedingt verstehen will, ob es auch auf das Timeout betrifft.

Also, nehmen wir mal an:

Ich habe eine Funktion, die folgendes abläuft:

- Socket-Verbindung mit IP und Port öffnen
- Das Paket senden
- Beispielweise nach 2-3 Sekunden kommt das Paket vom Server zurück
- Mit dem Paket verarbeiten
- Unter Finally Socket-Verbindung, ... usw. schliessen, auch wenn irgendein Exception kommt

Beispiel:

Ich möchte als Client alle Datensätze aus der DB holen. Es sind ungefähr: 100.000 Datensätze und der Server gibt mir pro Anfrage 1.000 Datensätze, d.h. ich (Client) müsste 100 Mal den Server anfragen.

So, wenn ich die o.g. Funktion 100 Mal ausführe, würde es bedeuten, dass das Timeout trotzdem weiterläuft, obwohl ich das Socket auch einwandfrei geschlossen habe ( siehe oben Finally ) oder wird das Timeout nach dem Erzeugen ( csock = new Socket(); ) wieder auf 0 gesetzt?

Gruß
Iron Monkey
 

KrokoDiehl

Top Contributor
Den Timeout den du bei
Code:
connect()
angeben musst, ist nur für das Verbinden selbst. Wenn dein Socket also länger als so viele Millisekunden braucht, um die Verbindung herzustellen, dann wird der Versuch abgebrochen (wie MQue schon sagte).
Für das Senden und Empfangen gilt diese Einstellung nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Socketverbindung über das Internet - Timeout? Netzwerkprogrammierung 28
P Client Timeout auffangen Netzwerkprogrammierung 2
S socket timeout clientseitig Netzwerkprogrammierung 2
MQue Inputstream Timeout Netzwerkprogrammierung 2
G Webserivce - Timeout in Axis - Unterschiede SO_Timeout. Netzwerkprogrammierung 3
G Timeout bei UNC-Pfaden Netzwerkprogrammierung 2
DEvent Socket und Timeout Netzwerkprogrammierung 3
T Timeout eines KSOAP-Calls Netzwerkprogrammierung 5
E Möglichkeit zum Timeout eines Process Netzwerkprogrammierung 7
P Socket Timeout ? Netzwerkprogrammierung 4
R Socket SSL-Connect in Servlet - keystore wird nicht gefunden Netzwerkprogrammierung 2
RELAXccc HTTP Connection timed out: connect ?an was kann es liegen? Netzwerkprogrammierung 4
C HTTP POST Connect Netzwerkprogrammierung 9
W How best to connect to existing RPC ApplicationServer Netzwerkprogrammierung 3
O bei dem Connect: IOException Netzwerkprogrammierung 11
M connect von Socket schlägt fehl Netzwerkprogrammierung 6
DamienX Nio connect von öffentlicher Ip Netzwerkprogrammierung 4
M chat funktioniert nicht (Connection refused: connect) Netzwerkprogrammierung 3
J Was bedeutet: Address already in use: connect (beim client?) Netzwerkprogrammierung 4
D Apaches ProxyClient - CONNECT Netzwerkprogrammierung 2
D Socketverbindung schlägt fehl - Connection refused: connect Netzwerkprogrammierung 4
D Time-out bei ftp-connect einstellen Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben