1

在 IP 为 145.74.217.109 的机器 A 上运行 ServerSocket 然后尝试使用 IP 为 145.74.219.103 的机器 B 连接到机器 A 时,我无法连接。但是当使用机器 C 和 ip 145.74.217.180 时,它可以工作。

我不确定这是否可以在代码中或仅在网络设置中解决。如果是网络问题,是否有另一种方法可以解决这个问题,或者我需要从套接字转移到...?

机器A:

public void run() {
        try {
            sock = new ServerSocket(Constants.PORT);
            for (;;) {
                Socket newsock = sock.accept();

                System.out.println("Accepting new player: ");

                new PaintballPlayer(newsock);
            }
        } catch (Exception e) {
            System.out.println("IO error " + e);
        }
        System.out.println("End!");

        try {
            sock.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

机器 B、C:

socket = new Socket(ip, Constants.PORT);
4

1 回答 1

0

如果您查看 IP 我们服务器的 IP 145.74.217.109IP145.74.217.180能够连接而 145.74.219.103无法连接,则意味着子网 145.74.219.X无法访 145.74.217.X​​问这就是它无法连接的原因。这是网络设置询问您的网络管理员。使您的两台机器具有相同的子网掩码

于 2012-11-19T13:51:41.497 回答