文章目录
- 不同局域 之间socket通信
- 前言
- 一、所需的硬件及软件
- 二、步骤
-
- 1.配置阿里云服务器安全组
- 2.在阿里云服务器下载frp,配置frps端
- 3.在设备2下下载frp,配置frpc端
-
- 如果你的设备2是Windows系统
- 4.运行程序
- 三.总结
不同局域 之间socket通信
前言
两台设备在同 段的局域 里,socket 客户端和socket服务端是可以相互通信的。但两台设备分别处于不同 段的局域 中时,之间就不能通信了。为了解决这个问题,需要一台有公 IP的服务器作为中转,就可以实现不同局域 之间两台设备基于socket通信了。
简单的框架就是这样的:
一、所需的硬件及软件
1.编写好的可以在同 段局域 下通信的socket client端和socket server端程序。
2.一台有公 IP的云服务器,要记住你的公 IP。我使用的是阿里云的服务器Linux Ubuntu 16.04 64位。如果是学生的话会有优惠。
3.frp软件包。用来搭建内 穿透服务器。
4.你所需要进行通信的两台设备
二、步骤
1.配置阿里云服务器安全组
2.在阿里云服务器下载frp,配置frps端
阿里云一般是Linux系统,如果你的是Windows系统,可以参考 3.在设备2中下载frp,配置frpc端 的步骤
运行frps,监听7000端口是否有frp客户端连接
如果看到frps tcp listen on 0.0.0.0:7000;Start frps success代表开启成功。
3.在设备2下下载frp,配置frpc端
设备2一般是指运行socket server端程序的那台设备。设备2是socket通信方的server端,是frp通道的client端,这个要搞清楚。
先介绍linux系统,linux系统下frpc端和frps端的配置类似。
可以看到frpc.ini中的内容为:
进行相应的配置
启动成功之后,在云服务器和设备2的命令窗口上都会看到提示。[ssh] success等字样。
如果你的设备2是Windows系统
frp下载地址:frp下载地址
下载之后解压,找到frpc.ini文件用记事本打开,进行配置。配置过程参考上面的内容。
启动frp服务是通过运行.exe文件进行的。
如果你的云服务器也是Windows系统的,进行类似的操作就可以了。
4.运行程序
至此,设备2和云服务器之间的通道已经打通。只需要先在设备2中运行socket server端程序,再在设备1中运行socket client端程序就可以跨局域 通信了。
三.总结
设备1和设备2不要搞混。
如果有什么问题可以给我留言。
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24758 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!