我有一个电脑运行运行多线程服务器插槽如下:的Java无法连接到服务器套接字
static void createServer() throws IOException {
//use this ip for other user
System.out.println(InetAddress.getLocalHost());
// establish server socket
try {
ServerSocket s = new ServerSocket(8888);
while (true) {
Socket incoming = s.accept();
Runnable r = new ThreadedEchoHandler(incoming, map);
Thread t = new Thread(r);
t.start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
从另一台计算机我尝试连接到服务器然后(使用从第一台计算机的IP 192.168.162.1)如下:
public void registerCmnd(Scanner keys) throws IOException {
InetAddress ip = InetAddress.getByName("first computer ip");
try (Socket s = new Socket(ip, 8888)) {
.....
.....
}
}
我得到一个java.net.ConnectException。
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at User.registerCmnd(User.java:45)
at User.main(User.java:28)
任何想法?
向我们展示堆栈跟踪。还有正在使用的IP地址,客户端和服务器端。 –
连接是否被一台或另一台机器上的防火墙阻止? –
我关闭了两台机器上的所有防火墙 – bzak