首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >公共上的Java TCP套接字

问公共上的Java TCP套接字
EN

Stack Overflow用户
提问于 2014-08-23 04:41:34
回答 2查看 646关注 0票数 1

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

在这里初始化套接字:

Socket clientSocket = new Socket(IP, PORT);

ServerSocket server = new ServerSocket(PORT);

EN

回答 2

Stack Overflow用户

发布于 2014-08-23 04:50:41

  • “打开端口”通常是在防火墙上完成的-如果您正在使用防火墙,则应该这样做。
  • 此外,您还需要您的路由器允许传入通信,这通常是通过端口转发配置/ NAT部分完成的。
  • 最后但并非最不重要的一点是,您需要外部网络上的客户端指定路由器的面向外部的IP,该IP地址不在the ranges reserved for private networks中。192.168.x.x是为专用网络保留的范围,不属于公有地址空间。它应该是不同的IP地址。

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

票数 0
EN

Stack Overflow用户

发布于 2014-08-23 04:47:41

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25455253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档