社区
Java SE
帖子详情
JAVA Socket如何访问公网IP
rockets311
2012-02-13 08:15:08
例如同在本机或同在一个局域网的话:服务端:
ServerSocket server = new ServerSocket(8888);
……
客户端
Socket socket = new Socket("127.0.0.1",8888);
//或者Socket socket = new Socket("192.168.0.111",8888);
……
这样即可。
但是如果不在本机也不在一个局域网中,服务端在公网呢?
代码该怎么写呢?
...全文
4415
12
打赏
收藏
JAVA Socket如何访问公网IP
例如同在本机或同在一个局域网的话:服务端: ServerSocket server = new ServerSocket(8888); …… 客户端 Socket socket = new Socket("127.0.0.1",8888); //或者Socket socket = new Socket("192.168.0.111",8888); …… 这样即可。 但是如果不在本机也不在一个局域网中,服务端在公网呢? 代码该怎么写呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rockets311
2012-02-13
打赏
举报
回复
测试通过,谢谢你!也谢谢各位了!结贴!
ldhbq2015
2012-02-13
打赏
举报
回复
是的,
rockets311
2012-02-13
打赏
举报
回复
假如服务端的路由器的特定端口如:2222映射了局域网如:192.168.0.120,
知道了它的公网的IP如:112.120.133.62,那么,服务端是否应该这样写:
ServerSocket server = new ServerSocket(2222);
……
客户端:Socket socket = new Socket("112.120.133.62",2222);
……
周靖峰
2012-02-13
打赏
举报
回复
应该是一样的吧
ssyliusha
2012-02-13
打赏
举报
回复
[Quote=引用 7 楼 aesir2012 的回复:]
127.0.0.1是本地
192.168.0.111是c类私有地址内部局域网用的
想知道自己的外网ip 可以访问ip168查看
你只用把Socket socket = new Socket("外网ip",8888);改了就行了
[/Quote]
如果不在服务器时局域网 不是单线的,,, 那就必须得在路由器上映射你的ip。。 不然你查到了ip还是没用。。。 反正你本机上能够ping通外网ip 就肯定可以连接通。。
尼伯龍根
2012-02-13
打赏
举报
回复
127.0.0.1是本地
192.168.0.111是c类私有地址内部局域网用的
想知道自己的外网ip 可以访问ip168查看
你只用把Socket socket = new Socket("外网ip",8888);改了就行了
ssyliusha
2012-02-13
打赏
举报
回复
路由器上映射你局域网ip。。。这方法是修改路由器属性。。 跟你代码没关系。。
ssyliusha
2012-02-13
打赏
举报
回复
局域网的话 就需要在 路由器上 映射你的局域网ip。。。。
具体办法去百度查吧,,我也忘记了。。
映射完成 外网就能够访问了。。。
你可以在自己机器上 cmd里面 ping ip(这个ip就是外网的局域网ip) 如果ping通了 就ok了。。
rockets311
2012-02-13
打赏
举报
回复
如果那个外网也在一个另一个局域网里。这样可以吗?
ssyliusha
2012-02-13
打赏
举报
回复
Socket socket = new Socket("127.0.0.1",8888);
"127.0.0.1" 这个是连接本地服务器的ip
Socket socket = new Socket("192.168.0.111",8888);
"192.168.0.111" 这个是连接局域网的服务器的ip
你只需要知道你要连接的外网ip 就可以了。。。 写法一样的。。没有任何区别~~ 只是速度不会那么快。。
rockets311
2012-02-13
打赏
举报
回复
貌似有点区别吧!
aotian16
2012-02-13
打赏
举报
回复
没区别吧
无
公网
IP
,实现
公网
与内网
socket
通信【cpolar内网穿透】
本文介绍了如何在没有
公网
IP
的情况下,利用cpolar内网穿透工具,将本地
socket
服务暴露到
公网
,包括
Java
服务端配置、cpolar的安装、隧道创建、
公网
连接服务端以及配置固定TCP端口的步骤。
Android 使用
Socket
连接阿里云服务器
本文详细介绍了如何实现Android应用通过
Socket
连接阿里云服务器。内容涵盖服务端设置
IP
地址和代码实现,客户端的许可证添加、界面设计及
Socket
连接,以及服务器的jar包打包和多种运行方式,包括cmd、bat文件和直接运行
java
文件。
「
Java
」
Socket
实现简单的客户端和服务端通讯 |
公网
环境通讯
本文介绍了如何使用
Java
的Netty框架创建
Socket
服务端,并通过cpolar进行内网穿透,使本地服务暴露至
公网
。详细步骤包括
Java
服务端配置、创建隧道映射、
公网
连接服务端以及配置固定TCP端口地址。此外,还展示了Go客户端如何连接
Java
服务端进行通信。
公网
环境使用基于go的
socket
客户端远程
访问
本地web
socket
服务端
本文指导如何在
公网
环境下,利用cpolar内网穿透工具,将本地Web
Socket
服务端暴露至
公网
,实现基于go的
socket
客户端远程连接并进行通信,无需
公网
IP
或复杂路由设置。
公网
远程连接本地
socket
服务【内网穿透】
本文介绍如何使用Netty和cpolar实现本地
Socket
服务的
公网
暴露,包括配置
Java
Socket
服务、利用cpolar进行内网穿透及
公网
客户端连接测试。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章