Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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 不同网络上的客户机服务器_Java_Networking_Client - Fatal编程技术网

Java 不同网络上的客户机服务器

Java 不同网络上的客户机服务器,java,networking,client,Java,Networking,Client,您好,我正在电脑上运行客户端,希望连接到另一台连接到其他网络的电脑上的服务器,但当我尝试连接到服务器时,出现以下异常: Exception in thread "main" java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketI

您好,我正在电脑上运行客户端,希望连接到另一台连接到其他网络的电脑上的服务器,但当我尝试连接到服务器时,出现以下异常:

    Exception in thread "main" java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at java.net.Socket.<init>(Socket.java:425)
    at java.net.Socket.<init>(Socket.java:208)
    at social_network.Client.main(Client.java:30)
Java Result: 1
}

在不同网络上运行的服务器代码:

    public class Server {

    public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException
    {

       ServerSocket server = new ServerSocket(4444);
       System.out.println("Waiting for clients to connect...");

       while (true)
       {
          Socket s = server.accept();
          InetAddress clientAddress = s.getInetAddress();
          System.out.println("Incoming connection from: " + clientAddress.getHostName() + "[" + clientAddress.getHostAddress() + "]");
          s.close();
       }
    }
}

怎么了?

你能从客户端ping服务器吗?我无法连接,因为异常显示“连接超时”。这意味着我的客户端无法访问服务器。你没有回答我的问题。您需要确保您可以从客户端访问服务器,否则-为什么还要麻烦呢?打开命令提示符/终端窗口并键入
ping-a 151.54.151.121
,然后您可能使用了错误的IP地址,或者有什么东西阻塞/过滤了您的流量。不管怎样,这都不是Java编程的问题。
    public class Server {

    public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException
    {

       ServerSocket server = new ServerSocket(4444);
       System.out.println("Waiting for clients to connect...");

       while (true)
       {
          Socket s = server.accept();
          InetAddress clientAddress = s.getInetAddress();
          System.out.println("Incoming connection from: " + clientAddress.getHostName() + "[" + clientAddress.getHostAddress() + "]");
          s.close();
       }
    }
}