社区
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);
……
这样即可。
但是如果不在本机也不在一个局域网中,服务端在公网呢?
代码该怎么写呢?
...全文
4425
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
,实现
公网
与内网
socket
通信
Android 使用
Socket
连接阿里云服务器
1.服务端的实现 1.1.设置
IP
地址
IP
地址为你的服务器
公网
IP
地址,端口号为已开放的端口号,如果用的是阿里云,需要设置端口号,否则无法进行连接。端口号设置示例如下: 1.2.服务端的完整代码Server package
socket
; import
java
.io.*; import
java
.net.Server
Socket
...
「
Java
」
Socket
实现简单的客户端和服务端通讯 |
公网
环境通讯
综上,我们基本了解了
Java
中的“
Socket
实现客户端和服务端通讯”🍭的知识啦~~恭喜你的内功又双叒叕得到了提高!!!后续还会继续更新💓,欢迎持续关注📌哟~💫如果有错误❌,欢迎指正呀💫。
公网
环境使用基于go的
socket
客户端远程
访问
本地web
socket
服务端
本文主要介绍如何使用cpolar内网穿透工具生成
公网
TCP地址,轻松实现使用Web
socket
客户端远程连接本地Web
socket
服务端进行通信,无需
公网
IP
,也不用设置路由器那么麻烦。
公网
远程连接本地
socket
服务【内网穿透】
将本地服务暴露至
公网
可
访问
,我们可以通过cpolar内网穿透来实现,无需
公网
IP
,也无需设置路由器。此时,web
socket
服务端已经从本地localhost暴露至
公网
,接着我们创建一个客户端测试
公网
访问
socket
服务端连接。隧道创建成功后,点击左侧的状态——在线隧道列表,可以查看到刚刚所创建的隧道,已经有生成了相应的
公网
地址,将其复制下来。注意:该隧道选择的是临时tcp地址和端口,24小时内会变化,如需固定tcp地址,可升级为专业套餐做tcp地址固定!创建
java
服务端,以接口模式创建,方便外部调用。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章