目的
使得处在不同局域网下的主机可以通信。
发起通信的称为上位机,被动接受通信的称为客户端,通过frp配置用服务器(拥有公网IP)转发。
下载frp
直接下载已经编译好的程序。https://github.com/fatedier/frp/releases
如果是linux就选相应的32或者64位的xxx_linux_xxx。
客户端和服务器下载的版本需要一致。
转发服务器配置
1、服务器的配置只需要配置frps.ini即可。本人使用的是阿里云,所以需要配置安全组,授权7000这个端口。
[common]
bind_port = 7000
2、在安装路径下执行命令
nohup ./frps -c ./frps.ini &
3、查看日志是否启用成功。
cat nohup.out
客户端配置
1、配置
[common]
# 转发服务器IP
server_addr = XX.XX.XX.XX
server_port = 7000
[tcp]
type = tcp
local_ip = 127.0.0.1
# 本地将被访问的端口
local_port = 7654
# 远程访问的端口
remote_port = 7071
2、运行
如果客户端是Windows,则在Windows的Dos命令行下执行相应exe程序。
同时这个remote_port端口阿里云也需要配置安全组,授权。
3、搞定
将Socket服务端放在客户端(监听7654端口),Socket客户端放在上位机(连接服务器的7071端口),上位机可以与客户端建立Tcp连接(并不是真正的Tcp连接,通过服务器转发),并发送消息。