下你所需,载你所想!
汇集开发技术源码资料

易语言PHP转发/自定通讯协议无需额外扩展写服务端

:324.615KB :1 :2020-02-08 19:34:53

部分简介

结构介绍:
php放在公网服务器上进行服务(vps、独立服务器都可以,虚拟主机需要独立IP可以开端口的具体我没试过)
易语言放在nei网连接到php的服务端口,建立连接,发送验证binary包
除了验证binary包以外,其他的均为加密传输,无惧窃听拦截,就算拦截到验证binary包,不知道私钥(暂且称呼为私钥)一样无法破Jbinary,也可以选择不加密
加密算法有AES,DES,RC2,RC4等,自行选择也可以说这就是一个内网穿透框架

暂时仅预留了多内网客户端接口,均衡功能还未实现,最好只用一个内网客户端,否则所有的内网客户端会同时受到通知~~

映射通讯数据结构(示例中已处理沾包):
{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.php

Linux:切换至 GatewayWorker 目录,调试方式运行php startSrv.php start(守护模式为 php startSrv.php start -d,无日志输出)
Windows:执行 GatewayWorker 目录中的,startWinSrv.bat

易语言:
打开示例,按需求修改,运行,ok!


注意:
可能出现Connect 比 recv 后到达,close 可能会延迟到达或者比recv先到达,暂时没得整,有能力的自行解决一下
综合上述可以说是不安全的内网映射框架,一般情况够用了。

易语言PHP转发/自定通讯协议无需额外扩展写服务端

热门推荐

相关文章