精易论坛

标题: 易语言与 PHP Fastcgi 方式通信 ,组包/解包全解析源码 [打印本页]

作者: KServer    时间: 2023-7-14 17:00
标题: 易语言与 PHP Fastcgi 方式通信 ,组包/解包全解析源码
源码仅调用 精易模块8.0.5 和 鱼刺类多线程应用5.0(已包含在源码包内,不放心的自行在论坛下载相关模块)

采用原生 Socket 与 PHP Fastcgi 进行长连接通讯,其他通讯组件自行移植,源码未经优化,移植到生产环境的自行斟酌

源码包内包含 PHP8.2 NTS 版本,不放心的用户自行前往 https://windows.php.net/ 进行下载自己合适的版本

据了解5.4以上的PHP版本均可以使用 Fastcgi 模式  命令行下执行 php-cgi.exe -b IP:Port


源码优化空间和方向
  • 修改单连接为多连接,采用 HP Socket(将模块改为程序集) 或者 Hashmap 存储 Client句柄,或者采用 IOCP 进行处理收发
  • 采用内存池,预先分配 BUF_SIZE 的内存进行数据保存(防止多次内存拷贝)
  • 采用数据类型,将解析后的响应数据直接返回
  • 将节点数据类型,改为 Hashmap (注意要采用读写锁)
  • 将循环等待改成 IOCP 完成端口进行通知(注意加上超时)
  • 在发送请求阶段,加入队列,采用多线程方式对队列进行处理(接收亦然)









易语言及模块源码 >>> 点击下载 <<< (蓝奏云) 【https://wwwu.lanzouj.com/ijzjh12do1re】



PHP-8.2  >>> 点击下载 <<< (蓝奏云)  【https://wwwu.lanzouj.com/ihDRm12dnykj




PHP 8.2 可以解压在任意目录,如果下载帖子里的源码包,直接解压在源码同级目录 ,然后运行 StartPHP-82.FPM.bat ,会开始监听 9000 端口
PHP文件放在 wwwroot 下,也可自行改变路径
包内 PHP8.2 已配置 ,自行下载需要了解PHP配置项

(论坛为啥不能直接传附件,费劲)



还望各位看官老爷多多点赞评论

e1.png (100.5 KB, 下载次数: 6)

e1.png

作者: wuqingg    时间: 2023-7-14 17:07
这个好评
作者: mood100    时间: 2023-7-14 17:12
学习收藏呢,感谢分享
作者: 君九    时间: 2023-7-14 17:14
这版本有BUG
作者: 达人秀110    时间: 2023-7-14 18:54
易语言与 PHP Fastcgi 方式通信 ,组包/解包全解析源码
作者: wmv520    时间: 2023-7-14 19:31

学习收藏呢,感谢分享
作者: 网络注册网员    时间: 2023-7-14 20:10
感谢分享
作者: 非常猥锁    时间: 2023-7-14 21:12
收下学习了
作者: 易神    时间: 2023-7-14 21:47
学习收藏呢,感谢分享
作者: 星空漫步    时间: 2023-7-14 21:52
感谢分享!!
作者: fusiyon    时间: 2023-7-14 22:15
感谢分享!!
作者: zzh233    时间: 2023-7-14 22:21
热泪盈眶 学习了
作者: 天雨时晴    时间: 2023-7-14 22:38
必须支持一下
作者: 396384183    时间: 2023-7-15 01:53

正好需要,感谢分享
作者: jiqigouer    时间: 2023-7-15 01:57
学习学习,谢谢分享
作者: xiaoniu1230    时间: 2023-7-15 08:11
感谢分享 支持开源 !
作者: xiaoniu1230    时间: 2023-7-15 08:11
感谢分享 支持开源 !
作者: kyo9766    时间: 2023-7-15 08:14
技术贴,得好好学习一下,感谢分享
作者: yangdoudou    时间: 2023-7-15 08:36
支持开源~!感谢分享
作者: 一指温柔    时间: 2023-7-15 08:59
感谢分享
作者: Elite    时间: 2023-7-15 09:35
回回血..............
作者: happyweeks365    时间: 2023-7-15 09:53
必须支持一下
作者: happyweeks365    时间: 2023-7-15 09:53
必须支持一下。。。。。。。。。
作者: 13012145633    时间: 2023-7-15 10:20
感谢楼主
作者: 小小小小鸟89    时间: 2023-7-15 10:23
感谢分享 支持开源 !
作者: bianyuan456    时间: 2023-7-15 11:32
已经顶贴,感谢您对论坛的支持!
作者: sostemp    时间: 2023-7-15 13:07
感谢分享 支持开源 !
作者: 外星星人    时间: 2023-7-15 17:11
支持楼主、、、、
作者: KServer    时间: 2023-7-15 19:45
没人需要吗
作者: quary    时间: 2023-7-15 20:50
谢谢楼主分享!!! 好人一生平安!!!
作者: 亿万    时间: 2023-7-15 21:02
        开源精神必须支持~
作者: 无言末天艺    时间: 2023-7-15 21:44

感谢分享 支持开源 !
作者: 一指温柔    时间: 2023-7-16 08:54
学习一下
作者: 13012145633    时间: 2023-7-16 10:34
#在这里快速回复# 开源精神必须支持~
作者: 1184798949    时间: 2023-7-17 19:28
感谢分享
作者: 清晨的天空    时间: 2023-7-17 21:01

感谢分享 支持开源 !
作者: 精易论坛龙    时间: 2023-7-17 21:09
感谢分享
作者: hhf4977    时间: 2023-7-18 01:31
开源精神必须支持~
作者: 帅怨    时间: 2023-7-18 06:06
谢谢分享
作者: 帅怨    时间: 2023-7-18 06:06
谢谢分享
作者: 帅怨    时间: 2023-7-18 06:07
谢谢分享谢谢分享谢谢分享
作者: ctry78985    时间: 2023-7-18 15:26
感谢分享 支持开源 !
作者: 精易论坛龙    时间: 2023-7-18 19:43
感谢分享
作者: 爱易编程    时间: 2023-7-18 21:20
易语言调用php代码吗?
作者: 土豆要不    时间: 2023-7-20 07:30
标题: ++
感谢分享,很给力!~
作者: 冰炎by    时间: 2023-7-20 08:37
开源精神必须支持~
作者: 123456ppt    时间: 2023-7-20 08:58

作者: 一曲离歌    时间: 2023-7-20 09:44

作者: 就是那个秋    时间: 2023-7-21 15:00
不明觉厉了!!!
作者: 达人秀110    时间: 2023-7-23 13:11
易语言与 PHP Fastcgi 方式通信 ,组包/解包全解析源码
作者: 阴影    时间: 2023-7-23 17:18
感谢分享 支持开源 !
作者: fhqdskfsym    时间: 2023-7-25 00:19
看不懂啥意思。是易语言执行php吗
作者: 刷栓hua    时间: 2023-7-29 20:17

开源精神必须支持,先学习一下
作者: 飞鱼软件    时间: 2023-8-6 17:55
感谢分享 支持开源 !
作者: ouyasq    时间: 2023-8-18 02:28
感谢分享 支持开源 !
作者: sunle818    时间: 2023-8-20 16:23

作者: tanxiaoxiong    时间: 2023-8-22 12:12
感谢分享 支持开源 !
作者: jiang910615    时间: 2023-8-30 18:57
感谢分享  支持开源
作者: Evan99    时间: 2023-9-1 17:08
666666666666666666666666
作者: ctry78985    时间: 2023-9-7 08:22

感谢分享!
作者: antoni    时间: 2023-9-26 00:24


开源精神必须支持,
作者: 故人執念2310    时间: 2023-10-8 19:55
6666666666666666666666666666666666666666666666
作者: tanxiaoxiong    时间: 2023-10-16 22:26
下个学习一下
作者: 石头怪    时间: 2024-1-7 15:37
谢谢分享
作者: 鱼刺i    时间: 2024-1-14 16:17
谢谢分享。相当的哇塞
作者: Aag666    时间: 2024-2-16 16:00
请问可以处理post提交吗?
作者: emodiyu    时间: 2024-4-20 23:24
感谢分享,很给力!~
作者: KServer    时间: 2024-4-23 23:41
Aag666 发表于 2024-2-16 16:00
请问可以处理post提交吗?

只展示 fastcgi 通讯协议,前面的 http 需要自行处理
作者: 白云飘飘    时间: 2024-5-15 16:55
支持开源~!感谢分享
作者: shaoxing0117    时间: 2024-7-15 21:05
        支持开源~!感谢分享
作者: A牧羊人A    时间: 2024-7-29 18:42
吆西,小黑屋的干活
作者: 骄傲1882    时间: 2024-9-6 23:54
谢谢!!!!!!!!!!
作者: ys2yy    时间: 2024-10-28 04:10

作者: ys2yy    时间: 2024-10-28 04:11

作者: lxn2wyf    时间: 2025-2-11 10:08
[内容由于不合规被停止生成,我们换个话题吧]
作者: xkAnd    时间: 2025-2-21 15:41
这玩意儿挺有意思的啊,用原生 Socket 还能搞长连接,代码质量得看看呢
作者: lassgo    时间: 2025-2-22 18:24
这玩意儿挺有意思的啊,用原生 Socket 搞 Fastcgi,技术含量拉满,不过得仔细研究研究呢
作者: eklove    时间: 2025-2-27 03:01
哦,这玩意儿挺有意思的,用原生 Socket 搞 Fastcgi,技术含量拉满,值得研究研究呢。
作者: tonc    时间: 2025-3-3 01:32
哇,这个源码来得太及时了,正想找这方面的例子呢。精易模块加上鱼刺的多线程,稳!不过自己得补点php fastcgi的知识才行啊。
作者: lm88818    时间: 2025-3-27 09:20
感谢分享,很给力!~
作者: zz1596    时间: 2025-3-27 16:43
感谢分享,很给力!~
作者: 罗斯柴尔德    时间: 2025-5-18 14:00
        开源精神必须支持~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4