1

我写了一个服务器和客户端 Java TCP 套接字,它在专用网络(192.168.2.x)上工作,但我不知道如何使它与公共 IP 一起工作。我想我应该在路由器中打开一个端口并使用我的服务器 ip 和这个端口来初始化客户端套接字!我试过了,但没有用。

在这里初始化套接字:

Socket clientSocket = new Socket(IP, PORT);

ServerSocket server = new ServerSocket(PORT);

4

2 回答 2

0
  • “打开端口”通常在防火墙上完成 - 如果您使用的是防火墙,则应该这样做。
  • 此外,您需要您的路由器允许传入流量,这通常通过端口转发配置/NAT 部分来完成。
  • 最后但同样重要的是,您需要外部网络上的客户端指定路由器的面向外部的 IP,该 IP 地址不在为专用网络保留的范围内。192.168.xx 是为专用网络保留的范围,不是公共地址空间的一部分。它应该是不同的 IP 地址。

您可以通过导航http://www.whatismyip.com/找到路由器的公共 IP 地址

于 2014-08-22T20:50:41.483 回答
-1

您应该转到路由器中的 NAT 部分并启用端口转发,例如公共 ip:port 将 1.1.1.1:1 NAT 到本地 2.2.2.2:2,因此您在端口 2 上启动服务器并与您的客户端连接1.1.1.1 端口 1。

于 2014-08-22T20:47:41.023 回答