不同局域 之间socket通信

文章目录

  • 不同局域 之间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进行处理,非常感谢!

上一篇 2020年9月26日
下一篇 2020年9月26日

相关推荐