脚本开发,脚本学习,辅助软件,各种工具软件

小伙子 发表于 2020-5-8 15:59:12

易语言+PHP外网转发,自定通讯协议

php采用workerman的gateway组件进行的编写。易语言程序仅调用精易模块和鱼刺多线程模块,整个架构比较简单,只要稍微懂点易语言都可以操作。结构介绍:php放在公网服务器上进行服务(vps、独立服务器都可以,虚拟主机需要独立IP可以开端口的具体我没试过)易语言放在nei网连接到php的服务端口,建立连接,发送验证binary包除了验证binary包以外,其他的均为加密传输,无惧窃听拦截,就算拦截到验证binary包,不知道私钥(暂且称呼为私钥)一样无法破解数据,也可以选择不加密加密算法有AES,DES,RC2,RC4等,自行选择也可以说这就是一个内网穿透框架
暂时仅预留了多内网客户端接口,均衡功能还未实现,最好只用一个内网客户端,否则所有的内网客户端会同时受到通知~~~
功能简介:外网客户端的connect/receive/close 都会转发到内网服务端,内网服务端处理完后可以返回操作给外网服务端,支持send/sendAll/Close映射通讯数据结构(示例中已处理沾包):{byte isCrypt}{int Length}{Text Json}搭建需求:PHP端:VPS/服务器或可以开端口的虚拟主机,需要启用(pcntl、posix),支持 Windows && Linux,具体请见workerman开发文档易语言端:无所谓,自定义自己的协yi就行了,什么http,ws等,都可以自行处理,只要是tcp就行了肯定有人要问为什么不用swoole本来是向用swoole的,但是尝试了一下后发现虽然效率很高,但是作为底层扩展,不是那么容易上手,文档也不是太全,增加了使用门槛,遇到bug的时候直接懵逼,作为映射服务端不太友好。so上图:PHP仅需设置以下参数(不设置也可以直接用)(一定要在防火墙开放端口,没有防火墙的当我没说)示例里面采用的易语言自带客户组件,用户可以自行更换,有条件的可以自己重写协议安装方法:将 GatewayWorker 整个上传服务器(PHP版本必须≥7.0.0)config.php => GatewayWorker/Applications/ephpSrv/config.phpLinux:切换至 GatewayWorker 目录,调试方式运行php startSrv.php start(守护模式为 php startSrv.php start -d,无日志输出)Windows:执行 GatewayWorker 目录中的,startWinSrv.bat具体停止和操作请看workerman文档 http://doc2.workerman.net/start-and-stop.html易语言:打开示例,按需求修改,运行,ok!注意:可能出现Connect 比 recv 后到达,close 可能会延迟到达或者比recv先到达,暂时没得整,有能力的自行解决一下下载链接:https://t00y.com/file/20110282-442433763

页: [1]
查看完整版本: 易语言+PHP外网转发,自定通讯协议