Java Swing应用程序中挂起的套接字连接

时间:2012-03-01 06:56:11

标签: java swing sockets

我创建了一个控制台应用程序,我试图使用

创建与服务器的套接字连接

Java Class ServerConnect ----

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

控制台java应用程序正确创建了套接字连接但是......

当我试图通过Swing应用程序做同样的事情,即通过调用ServerConnect类的函数来进行套接字连接时,它不起作用。 当我试图调试Swing应用程序时,控件挂在了行

Socket socket = new Socket(hostIpAddress,43);

并没有进一步移动,甚至没有任何例外。我正在使用netbeans IDE。 上面的代码片段是在一个线程类ServerConnect中的函数中编写的,它实现了runnable接口,其run方法可以调用该函数。

调用启动线程是在一个按钮的actionPerformed方法中给出的。

任何人都可以提出可能存在的问题/错误。

谢谢

1 个答案:

答案 0 :(得分:3)

您如何在Swing应用中获取域名?你确定你读得对吗?

其他可能性是,如果从Swing事件调度线程(EDT)调用此代码,例如。从一个动作监听器,它可能会扰乱EDT并导致一些问题。尝试在新线程中运行它。