2015-03-13 76 views
-1

我是socket編程的新手,有很多問題。Socket連接超時內置jar文件中的問題

我寫了一個代碼來檢查互聯網的可用性。當通過NetBeans IDE中推出運行,它可以檢測網絡連接的可用性...在互聯網連接可用藍色手段

enter image description here

句子。

在運行內置的jar,它拋出一個超時錯誤,不查詢......

enter image description here

和第二步的形象是:

enter image description here

句句紅色表示沒有互聯網接入

這是代碼。任何想法是什麼問題?我很困惑,因爲這不是一個常見問題。

private void checkInternetConnection() 
{   
    Socket socket = null; 
    try 
    {       
     socket = new Socket("varzesh3.com", 80);  
     socket.setSoTimeout(50000); 
     lblStatus.setForeground(Color.blue); 
     lblStatus.setText("اینترنت فعال است"); 
     socket.close();    
     timer.stop();          
    } 
    catch (IOException ex) 
    { 
     lblStatus.setForeground(Color.red); 
     lblStatus.setText("اینترنت غیر فعال است"); 
     JOptionPane.showMessageDialog(null, ex.getMessage()); 
    }   
} 

感謝您的關注。

+0

你泄露插座,也不要張貼無意義的圖片在這裏。浪費你的帶寬和其他人的。 – EJP 2015-03-13 21:25:56

+0

@EJP無關您的業務。如果你太喜歡你的帶寬,不要閱讀我的帖子。 – 2015-03-14 05:16:37

回答

0

感謝到@Florian Prud'homme共同

好吧,我改變我的互聯網校驗碼,此代碼:),它是完美的工作:)

private void checkInternetConnection(){  
     try { 
      Process proccess = java.lang.Runtime.getRuntime().exec("ping varzesh3.com"); 
      int result = proccess.waitFor(); 
      if(result == 0){ 
       lblStatus.setForeground(Color.blue); 
       lblStatus.setText("اینترنت فعال است"); 
       timer.stop(); 
      } 
      else{ 
       lblStatus.setForeground(Color.red); 
       lblStatus.setText("اینترنت غیر فعال است"); 
      } 

     } catch (IOException | InterruptedException ex) { 
      Logger.getLogger(InternetChecker.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
1

你有沒有檢查你是否有一個代理互聯網來配置(可能與登錄名和密碼)?

如果您在Windows上,請嘗試執行「cmd」(Windows命令行)並鍵入:tracert varzesh3.com另請檢查有關代理的網絡配置。

+0

我跟蹤varzesh3.com併成功完成。當然,我也測試我的套接字到谷歌。但是當我使用IDE運行它時也是如此,但是當我運行builded jar文件時它無法連接 – 2015-03-13 20:14:48

+0

感謝嘗試tracert。通過tracert的結果,在第一行中,您應該有一個IP地址。你可以嘗試用新建的罐子來測試這個特殊的IP嗎? – 2015-03-13 20:30:37

+0

是的,我測試過,但沒有任何變化:( – 2015-03-13 20:33:41