连接到远程 java 应用程序
connecting to a remote java application
我必须在 java 中建立一个 server/client 聊天室作为学校项目,我想知道我是否可以使用以下方法从世界网络(而非本地网络)连接到该服务器IP 地址和端口(我想托管它,但我意识到我应该构建一个网络应用程序而不是桌面应用程序为时已晚)。我的应用程序正在使用传输内容协议 (TCP) 套接字。我尝试使用 public IP 和我在防火墙中打开的端口连接到应用程序。如果需要,我可以 post 代码。提前致谢
如果您的网络防火墙设置允许您这样做,您当然可以连接。
现在,您的计算机有一个内部 IP 地址,类似于 192。168.xxx.xxx,您的路由器有一个唯一的外部 IP 地址。
设置您的路由器以转发连接。执行此操作的步骤可能因每个路由器而异,但重点是将所有连接到此路由器,并使用您已声明的端口号转发到内部IP地址和端口号。
在您的客户端,您的连接语句将包含您的外部 IP 地址和您在路由器设置中写入的端口号。在你的服务器端,它会监听你的内部IP地址和你的路由器转发到的端口号。
说清楚;
客户端 ---"xx.xx.xx.xx:9999"---> 路由器 ---"192.168.xx.xx:8888"---> 服务器
如上所示,路由器将所有到达 9999. 端口的连接转发到 192.168.xx.xx 地址和 8888. 端口。
我必须在 java 中建立一个 server/client 聊天室作为学校项目,我想知道我是否可以使用以下方法从世界网络(而非本地网络)连接到该服务器IP 地址和端口(我想托管它,但我意识到我应该构建一个网络应用程序而不是桌面应用程序为时已晚)。我的应用程序正在使用传输内容协议 (TCP) 套接字。我尝试使用 public IP 和我在防火墙中打开的端口连接到应用程序。如果需要,我可以 post 代码。提前致谢
如果您的网络防火墙设置允许您这样做,您当然可以连接。
现在,您的计算机有一个内部 IP 地址,类似于 192。168.xxx.xxx,您的路由器有一个唯一的外部 IP 地址。
设置您的路由器以转发连接。执行此操作的步骤可能因每个路由器而异,但重点是将所有连接到此路由器,并使用您已声明的端口号转发到内部IP地址和端口号。
在您的客户端,您的连接语句将包含您的外部 IP 地址和您在路由器设置中写入的端口号。在你的服务器端,它会监听你的内部IP地址和你的路由器转发到的端口号。
说清楚;
客户端 ---"xx.xx.xx.xx:9999"---> 路由器 ---"192.168.xx.xx:8888"---> 服务器
如上所示,路由器将所有到达 9999. 端口的连接转发到 192.168.xx.xx 地址和 8888. 端口。