gpt4 book ai didi

Internet 上的 Java 套接字超时

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:11:45 25 4
gpt4 key购买 nike

我创建了一个小型聊天程序,当客户端和服务器运行在同一台计算机(也可能是网络)上时,它可以完美运行。但是,一旦我尝试通过互联网连接到另一台计算机,套接字连接就会超时。这是因为防火墙/路由器等吗?

如何通过互联网连接 ServerSocket 和套接字?

最佳答案

However, as soon as I try to connect to another computer over the internet, the socket connection simply times out. Is this because of firewalls / routers, etc?

是的,很有可能。你遇到了 NAT 问题:本质上,相同的外部可见 IP 地址映射到许多内部可见端点,而外部端点不知道将您的套接字请求发送给哪个内部端点。

解决此问题的最简单方法是让您的两个客户端都连接到他们都可以看到的第三方,然后让第三方调解通信。例如,这就是大多数即时消息协议(protocol)的工作方式。

如果您无法控制这样的第三方实体,直接连接两个客户端的替代方法是让两个客户端都打开一个商定的端口,然后将该端口上的通信映射到它们自己的内部端点.这提供了外部可见端点(例如您的家庭路由器)将通信传送到其预期目的地所需的缺失链接。

关于Internet 上的 Java 套接字超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2078018/

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