我有一个让我发疯的问题。 假设我有客户端和服务器(TCP连接):
public class ServerTCP {
public static void main(String args[]) throws IOException {
ServerSocket srvr = new ServerSocket(4380);
Socket skt = srvr.accept();
System.out.print("Client has connected!\n");
skt.close();
srvr.close();
}
}
public class ClientTCP {
public static void main(String args[]) throws IOException {
Socket skt = new Socket("myIPaddress", 4380);
}
}
如果我用“localhost”替换ClientTCP的IP地址,一切正常。当我启动ServerTCP时,转到http://www.yougetsignal.com/tools/open-ports/,输入4380并点击Check,我收到来自终端“Client has connected!”的消息。所以这应该意味着端口转发是正确的,我可以接收连接。但是,当我尝试从ClientTCP连接时,我无法做到。无论我做什么(禁用ufw,尝试不同的端口),它只是卡住了,我最终得到连接超时。
我也和Netty一样尝试过同样的问题。我正在使用XUbuntu 16.04 LTS,如果有帮助的话。我不知道我还应该做些什么。