Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用我的公用ip地址连接到服务器_Java_Sockets_Client Server - Fatal编程技术网

Java 无法使用我的公用ip地址连接到服务器

Java 无法使用我的公用ip地址连接到服务器,java,sockets,client-server,Java,Sockets,Client Server,我已经用Java编写了一个简单的聊天应用程序,当我试图从系统内部使用127.0.0.1连接到服务器时,它工作得非常好。 但当我试图使用我的公共ip地址连接到服务器时,客户端无法定位套接字?如何解决此问题。 这是客户端代码 String ipadd = "213.109.45.23"; InetAddress ip = InetAddress.getByName(ipadd); sockfd = new Socket(ip,1800); 这是服务器代码 Strin

我已经用Java编写了一个简单的聊天应用程序,当我试图从系统内部使用127.0.0.1连接到服务器时,它工作得非常好。 但当我试图使用我的公共ip地址连接到服务器时,客户端无法定位套接字?如何解决此问题。 这是客户端代码

    String ipadd = "213.109.45.23";
    InetAddress ip = InetAddress.getByName(ipadd);
    sockfd = new Socket(ip,1800);
这是服务器代码

    String ipadd = "0.0.0.0";
    InetAddress ip = InetAddress.getByName(ipadd);
    ServerSocket ss = new ServerSocket();
    ss.setReuseAddress(true);
    ss.bind(new InetSocketAddress(ip,1800));

给我们看看代码吧?也就是说你刚才说的。。。。您可能需要端口转发?这更可能是防火墙问题,而不是编程问题。请确保进入路由器设置并设置端口转发。@3我正在使用ubuntu……您能告诉我如何端口转发吗?您可能已将服务器套接字绑定到本地地址。如果你发布代码,我们可能会更有帮助。