Java: Socket blockiert bei falscher IP Adresse, warum?

Mondmann

Mondmann

Aktives Mitglied
Thread Starter
Dabei seit
21.07.2004
Beiträge
3.246
Reaktionspunkte
183
Also ich erstelle ja meine Sockets folgendermaßen:
Code:
try{ 
                            
          
         Socket socket=new Socket(conn_host,conn_port); 
                        if(socket==null)JOptionPane.showMessageDialog(null,"Konnte Socket nicht erstellen!"); 
          
          
         }catch(IOException ex) 
            { 
               JOptionPane.showMessageDialog(null,"Konnte Socket nicht erstellen!"); 
                
               try{ 
               if(socket!=null)    
                                            socket.close(); 
                                        
                  }catch (IOException e) 
                  { 
                     JOptionPane.showMessageDialog(null,"Konnte Socket nicht beenden!"); 
                     return false; 
                  } 
                   
                  return false;                
            }

Bisher hatte ich alles getestet mit Angaben für host und port die korrekt waren.
Stelle ich aber fehlerhafte Angaben ein um eine Exception zu testen oder um zu testen was passiert wenn er keinen Socket erstellen kann, dann bleibt der Debugger in der Zeile wo der Socket erstellt wird stehen.
Hängt sich einfach auf und die Anwendung friert ein.

Ich habe aber doch try..catch usw warum bleibt die Anwendung stehen????
Habe dann noch festgestellt, daß das nur der Fall ist, wenn ich eine IP Adresse angebe, die es im Netzwerk nicht gibt.
Gebe ich eine an, die existiert, die aber die Verbindung nicht annimmt, läuft er in die Exception.

Warum tut er das nicht bei einer falschen IP Adresse?

Ich hoffe mir kann jemand helfen, Grüße Mondmann

PS: Kennt jemand ein richtig gutes Java Forum?
 
du könntest auch ein
catch (UnknownHostException e)
machen. für den fall, dass der host nicht exitiert...
 
Ja, das habe ich auch versucht, da ich das natürlich nachgelesn hatte.
Aber im onlinebuch Gallileo steht, das mit IOEXception die UnknownHostException ebenfalls abgefangen wird.Außerdem wenn ich UnknownHostException versucht, dann sagt der Compiler, daß es schon durch IOEXception abgefangen wurde....
 
Nimm' die connect() Methode und gebe einen Timeout-Wert an!
 
Zurück
Oben Unten