Moin,
da wir gelegentlich mal Probleme mit SocketTimeouts haben, hatte mein Chef jetzt die schlaue Idee, bspw. das Connect solange zu wiederholen, bis es erfolgreich war.
Dabei tritt hier nun mit diesem Code folgendes auf:
Wenn statt der der drei Zeilen die komplette while-Schleife auskommentiert ist (die bisherige Logik), klappt das Connect anstandslos (d. h. ich laufe bis zum Breakpunkt bei iTest).
In der Version wie hier dargestellt, bekomme ich permanent auschließlich nur SocketTimeouts ....
Habe schon versucht, die Socket im catch-Block zu closen oder auch vor der Schleife zu deklarieren, bringt aber alles nix - immer nur STOs ???:L
Habe leider keine Idee mehr, womit das zusammenhängen könnte und hoffe auf Hilfe!
Ein try-catch innerhalb eines try-catch sollte doch auch problemlos gehen ....
Danke und Gruß
Klaus
da wir gelegentlich mal Probleme mit SocketTimeouts haben, hatte mein Chef jetzt die schlaue Idee, bspw. das Connect solange zu wiederholen, bis es erfolgreich war.
Dabei tritt hier nun mit diesem Code folgendes auf:
Java:
try
{
// SocketAddress sockaddr = new InetSocketAddress(strIP, MCD_DATA_PORT);
// sock = new Socket();
// sock.connect(sockaddr, MCDSOCKETTIMEOUT_REST);
boolean bIsOK = false;
while( !bIsOK )
{
try
{
SocketAddress sockaddr = new InetSocketAddress(strIP, myPORT);
sock = new Socket();
sock.connect(sockaddr, MCDSOCKETTIMEOUT_REST); // <== TIMEOUT !!!
if( sock.isConnected() )
{
bIsOK = true;
}
}
catch( Exception ex )
{
System.out.println( "wiederholtes socket.connect (myFunction)" );
ex.printStackTrace();
}
} // while
if( sock.isConnected() )
{
int iTest = 5; // habe ich nur auf die Schnelle eingebaut,
// um hier einen Breakpunkt zu setzen !!
}
// ..
}
catch (...)
In der Version wie hier dargestellt, bekomme ich permanent auschließlich nur SocketTimeouts ....
Habe schon versucht, die Socket im catch-Block zu closen oder auch vor der Schleife zu deklarieren, bringt aber alles nix - immer nur STOs ???:L
Habe leider keine Idee mehr, womit das zusammenhängen könnte und hoffe auf Hilfe!
Ein try-catch innerhalb eines try-catch sollte doch auch problemlos gehen ....
Danke und Gruß
Klaus