2012-03-01 89 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