Java: Socket blockiert bei falscher IP Adresse, warum?

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von Mondmann, 04.11.2006.

  1. Mondmann

    Mondmann Thread Starter MacUser Mitglied

    Beiträge:
    2.801
    Zustimmungen:
    81
    MacUser seit:
    21.07.2004
    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?
     
  2. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.832
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    du könntest auch ein
    catch (UnknownHostException e)
    machen. für den fall, dass der host nicht exitiert...
     
  3. Mondmann

    Mondmann Thread Starter MacUser Mitglied

    Beiträge:
    2.801
    Zustimmungen:
    81
    MacUser seit:
    21.07.2004
    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....
     
  4. macHomer

    macHomer MacUser Mitglied

    Beiträge:
    152
    Zustimmungen:
    0
    MacUser seit:
    23.02.2005
    Nimm' die connect() Methode und gebe einen Timeout-Wert an!
     
Die Seite wird geladen...

Diese Seite empfehlen