2012-03-01 90 views
0

我創造的,我試圖創建使用Socket連接

的Java類ServerConnect服務器的套接字連接控制檯應用程序----

InetAddress hostIpAddress= fnGetHostInetAddress(domainName); 
System.out.println(hostIpAddress.getHostAddress()+""+hostIpAddress.getHostName()); 
Socket socket = new Socket(hostIpAddress,43); 

控制檯Java應用程序正確創建套接字連接,但...

當我試圖通過Swing應用程序做同樣的事情,即通過調用ServerConnect類的Socket連接功能它沒有工作。 當我試着調試Swing應用程序的控制,在掛線

Socket socket = new Socket(hostIpAddress,43); 

,並沒有繼續移動,甚至沒有給任何exception.I正在使用NetBeans IDE。 上面的代碼片段被寫入線程類ServerConnect中的函數中,該函數實現runnable接口,其run方法調用該函數。

在按鈕的actionPerformed方法中給出了啓動線程的調用。

有人可以提出什麼可能是問題/錯誤。

謝謝

+0

什麼類型的Swing應用程序?一個JApplet?通過雙擊啓動JFrame?使用Java Web Start啓動的JFrame? – 2012-03-01 08:08:11

+0

它的JFrame應用程序和上面的代碼片段的功能是在按鈕單擊事件上調用的。 – 2012-03-01 09:09:41

回答

3

你是如何得到你的Swing應用程序的域名?你確定你閱讀正確嗎?

其他可能性是,如果您從Swing事件調度線程(EDT)調用此代碼,例如。從行動聽衆,它可能會打亂美國東部時間並導致一些問題。嘗試在新線程中運行它。

+0

fnGetHostInetAddress是用戶定義的函數返回的域名(字符串)的IPAddress是的,我已經檢查它返回正確的IP地址 – 2012-03-01 08:57:31

+0

添加對問題的更改。 – 2012-03-01 09:17:21

+0

@NishitJain:比較你的代碼這個工作[示例](http:// stackoverflow.com/a/3245805/230513),它不會阻止EDT。 +1 – trashgod 2012-03-01 10:17:21