【发布时间】:2015-04-11 08:19:30
【问题描述】:
我从 JAVA 网络编程开始。我写了一个服务器类,它使用 ServerSocket 来监听 3333 端口。下面是代码 sn-p。
try {
servSock = new ServerSocket(portNumber);
//servSock.setSoTimeout(100000);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Socket link = null; //Step 2.
while(true){
try {
link = servSock.accept();
这很好用,因为接受调用会正确阻止程序。
但是当我通过客户端从同一台机器连接到同一个端口时,使用下面的代码
Socket link = new Socket();
link.connect(new InetSocketAddress(InetAddress.getLocalHost(),3333), 50000);
它会在一段时间后抛出 ConnectionTimedout。
我无法连接到服务器!。请帮助某人。
【问题讨论】:
-
尝试打印
InetAddress.getLocalHost()的值。也尝试用localhost替换InetAddress.getLocalHost() -
哇,好用! :) 现在已经为此苦苦挣扎了 3 个小时。非常感谢:)
-
InetAddress.getLocalhost 有什么问题?至少在许多教程文本中是这样的。
-
我在回答中提到了解决方案和解释。请接受!谢谢