gpt4 book ai didi

java - 无法跨不同网络连接套接字

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:18:08 25 4
gpt4 key购买 nike

我无法通过另一个网络将我的在线应用程序连接到其他应用程序。当我们在同一个网络上时,我可以给他们 hostAddress 进行连接,但是当我们通过 Internet 进行连接时,生成的主机地址不允许连接,也不允许使用从在线网站(如 whatismyip)获得的 ip 地址.com

我最大的问题不是调试这段代码,因为它在内部网络上工作,但是当我们尝试移动到不同的网络时,服务器看不到尝试。另外,我使用的测试端口是2222。

InetAddress addr = InetAddress.getLocalHost();
String hostname = addr.getHostName();
System.out.println("Hostname: " + hostname);
System.out.println("IP: " + addr.getHostAddress());

启动时向服务器显示主机

if (isClient) {
System.out.println("Client Starting..");
clientSocket = new Socket(host, port_number);
} else {
System.out.println("Server Starting..");
echoServer = new ServerSocket(port_number);
clientSocket = echoServer.accept();
System.out.println("Warning, Incoming Game..");
}

最佳答案

如果它在您的本地局域网上工作但在互联网上不工作,那么一个或两个对等点可能在 NAT'ed connection 上,这意味着您在互联网上看到的公共(public) IP 地址与您尝试与之交谈的机器的 IP 地址不同。您可能需要设置某种类型的 port forwarding允许您的应用连接。

关于java - 无法跨不同网络连接套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com