Java: Socket blockiert bei falscher IP Adresse, warum?

  1. Mondmann

    Mondmann Thread Starter MacUser Mitglied

    Mitglied seit:
    21.07.2004
    Beiträge:
    2.818
    Zustimmungen:
    84
    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?
     
    Mondmann, 04.11.2006
    #1
  2. oneOeight

    oneOeight MacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.160
    Zustimmungen:
    3.885
    du könntest auch ein
    catch (UnknownHostException e)
    machen. für den fall, dass der host nicht exitiert...
     
    oneOeight, 04.11.2006
    #2
  3. Mondmann

    Mondmann Thread Starter MacUser Mitglied

    Mitglied seit:
    21.07.2004
    Beiträge:
    2.818
    Zustimmungen:
    84
    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....
     
    Mondmann, 04.11.2006
    #3
  4. macHomer

    macHomer MacUser Mitglied

    Mitglied seit:
    23.02.2005
    Beiträge:
    150
    Zustimmungen:
    0
    Nimm' die connect() Methode und gebe einen Timeout-Wert an!
     
    macHomer, 10.11.2006
    #4
Die Seite wird geladen...
Ähnliche Themen - Java Socket blockiert
  1. anotheryou
    Antworten:
    1
    Aufrufe:
    138
    Apfeleis
    24.06.2017
  2. kurtmac
    Antworten:
    4
    Aufrufe:
    330
    kurtmac
    15.11.2016
  3. msdd79
    Antworten:
    5
    Aufrufe:
    661
    msdd79
    14.09.2016
  4. LuQasZ
    Antworten:
    15
    Aufrufe:
    1.221
    LuQasZ
    18.04.2016
  5. martin2day
    Antworten:
    5
    Aufrufe:
    625
    below
    29.06.2011