2013-03-08 34 views
0

開放套接字時嘗試使用在documentation給出的例子打開一個套接字:IOException異常:無法使用DNS

try { 
    SocketConnection sc = (SocketConnection) 
      Connector.open("socket://host.com:79"); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

我得到一個例外,以下是完整的堆棧跟蹤:

Exception in thread "main" java.io.IOException: Cannot open socket using DNS 
at java.lang.Throwable.fillInStackTrace(Throwable.java:122) 
at java.lang.Throwable.<init>(Throwable.java:53) 
at java.lang.Exception.<init>(Exception.java:20) 
at java.io.IOException.<init>(IOException.java:23) 
at ej.ecom.connection.socket.SocketConnectionImpl.openSocket(SocketConnectionImpl.java:206) 
at ej.ecom.connection.socket.SocketConnectionImpl.open(SocketConnectionImpl.java:72) 
at ej.ecom.connection.socket.ConnectionFactory.open(ConnectionFactory.java:32) 
at ej.ecom.io.Connector.open(Connector.java:129) 
at ej.ecom.io.Connector.open(Connector.java:93) 
at fr.cameon.net.http.client.HTTPClientTest.main(HTTPClientTest.java:16) 

我曾嘗試使用其他端口和IP,但似乎沒有任何工作。我還沒有找到任何人得到這個異常描述。

+0

您試過了哪些端口和IP?您顯示的唯一一個是虛假的主機名。 – Nate 2013-03-09 07:36:51

+0

問題是我不知道是否必須先創建服務器。還是應該連接到端口80上的任何現有主機? – 2013-03-11 09:58:59

+0

您可以**創建您自己的服務器,偵聽套接字連接,或者連接到您已知正在偵聽的主機名和端口組合*。例如,「www.google.com」和端口「80」。但是,如果在*端點*處沒有監聽,則無法連接到主機名和端口。 – Nate 2013-03-11 22:01:51

回答

0

這只是一個示例代碼。你需要有有效的服務器。將「socket://host.com:79」替換爲您的服務器