gpt4 book ai didi

带 VPN 连接的 Java Socket

转载 作者:行者123 更新时间:2023-12-02 15:31:38 25 4
gpt4 key购买 nike

我有一个 Java Socket 服务器正在监听给定 192.168.* 地址的计算机。我有一个客户端 Java 解决方案连接到 Socket 服务器并使用 BufferedOutputStream 发送命令并捕获 BufferedInputStream 上的响应。

当我在本地网络上时,这一切都工作正常。

当我使用 VPN 时,我得到了 10* IPA,但该解决方案不起作用。我听说 10 Net 需要路由,但是 VPN 服务器不会为我做这一切吗?

我可以通过 10 Net VPN 连接访问所有 192.168* 资源,因此我不明白这怎么可能是路由问题。

您知道为什么来自 10 Net VPN 的 Java Socket 解决方案无法发送命令或接收响应吗?

提前致谢。

最佳答案

虽然您解决了问题,但我仍然觉得您的回答有些误解,并想添加以确保。

您有一台 192.... 计算机,您的服务器正在其上监听某个端口(例如 4055)。现在您希望该网络之外的客户端能够访问该服务器并交换数据。

如果您的客户端位于同一网络上,则不需要任何路由,您所需要的只是服务器允许端口 4055 上的传入连接。一般来说,传入连接(来自本地主机的除外)会被 Linux 上的 iptables 等防火墙阻止,您必须为此在防火墙配置中添加一条规则

但是,如果您的客户端位于不同的子网并且需要路由,则您需要路由器上的规则,即需要告知您的路由器从(客户端的 ip x)收到的每个数据包路由器端口 (y) 上的端口应转发到您的服务器端口 4055。这称为端口转发。

即使您的路由器能够转发某些端口,也必须明确告知来自哪个 ip/端口的流量需要转发到在哪个端口监听的哪个 ip

关于带 VPN 连接的 Java Socket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10607523/

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