如何使用 java 套接字在不同网络之间进行通信?
How can I use java sockets to communicate between different networks?
我的客户端和服务器有 java 个程序,它们在同一个 wifi 网络中工作正常。但我需要客户端能够从开放的互联网连接到服务器。在这些问题中
How to connect client and server with the help of ip address which are connected to internet through different wifi?
https://coderanch.com/t/667020/java/Socket-connections-networks
解决方案是手动将端口从路由器重新路由到服务器,使其对来自外部的连接开放。有没有办法只用服务器上的软件来做到这一点?我不明白为什么需要手动专用端口,因为我安装的计算机上的其他应用程序(如游戏)当然与他们的服务器来回通信,而无需我手动进入和翻转开关。
如何仅使用服务器上的软件 运行 实现此目的?
如果没有其他方法,其他应用程序如何在不手动更改路由器的情况下公开通信,并且通过我的路由器打开端口会导致安全问题吗?
您需要更改应用程序的体系结构。目前,您的服务器位于阻止来自 Internet 的连接的防火墙后面 - 您想要这个!如果您允许来自 Internet 的所有流量不加选择地连接到您的服务器,那么它很容易受到攻击。
其他应用程序无需端口转发即可安装和通信,因为开发人员在 Internet 上提供服务器以充当客户端之间的代理。客户端将 out 连接到通常在家庭网络上未被阻止的互联网。传出的内部连接被认为比进入 .
的连接危害更小
我的客户端和服务器有 java 个程序,它们在同一个 wifi 网络中工作正常。但我需要客户端能够从开放的互联网连接到服务器。在这些问题中
How to connect client and server with the help of ip address which are connected to internet through different wifi?
https://coderanch.com/t/667020/java/Socket-connections-networks
解决方案是手动将端口从路由器重新路由到服务器,使其对来自外部的连接开放。有没有办法只用服务器上的软件来做到这一点?我不明白为什么需要手动专用端口,因为我安装的计算机上的其他应用程序(如游戏)当然与他们的服务器来回通信,而无需我手动进入和翻转开关。
如何仅使用服务器上的软件 运行 实现此目的?
如果没有其他方法,其他应用程序如何在不手动更改路由器的情况下公开通信,并且通过我的路由器打开端口会导致安全问题吗?
您需要更改应用程序的体系结构。目前,您的服务器位于阻止来自 Internet 的连接的防火墙后面 - 您想要这个!如果您允许来自 Internet 的所有流量不加选择地连接到您的服务器,那么它很容易受到攻击。
其他应用程序无需端口转发即可安装和通信,因为开发人员在 Internet 上提供服务器以充当客户端之间的代理。客户端将 out 连接到通常在家庭网络上未被阻止的互联网。传出的内部连接被认为比进入 .
的连接危害更小