精易论坛

标题: 进程通信方法之文件映射 [打印本页]

作者: 龙渊    时间: 2024-12-6 23:21
标题: 进程通信方法之文件映射
前言:
写这个源码是自己写的一个易程序,需要调用Python处理一些东西,易语言做界面程序,看到初级办法就是写入文件,双方读取文件进行通信,由于涉及I/O操作,感觉效率比较低,就改进了一下,通过调用windows API函数进行实现。【这里就都用易语言实现了】

通过调用Win32 API中共享内存方法实现,实际就是文件映射的一种特殊情况。就是利用进程在创建文件映射对象时用0xFFFFFFFF来代替文件对象句柄(HANDLE),其它进程打开该文件映射对象就可以访问该内存区域。只能运行于同一计算机上的进程之间。

实现思路:
创建方(服务端)连接方(客户Duan)进程同步:

例如 现有俩个事件分别是get_readget_wri
初始状态get_readget_wri事件的信号灯都是灭的。先启动创建方,然后启动连接方时,在初始化时将创建方的get_wri事件的信号灯点亮,这样创建方获得信号灯就可以直接写入共享内存中并将get_read灯点亮将get_wri灯弄灭。然后连接方获得get_read灯亮就可以读取共享内存中的数据,读取完毕后再将get_read灯弄灭将get_wri灯点亮。这样就实现了进程间的通讯。

最后,上面资料来自MSDN查阅函数和CSDN博客资料,非常感谢提供例子,代码自行理解写的,如有不足,欢迎大佬指点改进。



软件截图:



关键代码:
1.服务端



2.客户Duan


不想写dll了,直接调用了精易模块,自备模块吧

test_服务端.e (1.72 MB, 下载次数: 66)

                                    test_客户Duan.e (12.66 KB, 下载次数: 65)



作者: 汉族    时间: 2024-12-6 23:25
支持一个  点赞先
作者: 灵海雪缘    时间: 2024-12-7 00:51
进程通信方法之文件映射
作者: 浩蛋    时间: 2024-12-7 02:11
支持一个  点赞先
作者: pshq123    时间: 2024-12-7 04:42

作者: renhe2018    时间: 2024-12-7 07:38
这简直是太强大啊
作者: qwe111qwe    时间: 2024-12-7 08:00
感谢分享!!!!
作者: ensurf    时间: 2024-12-7 08:02
#在这里快速回复#支持开源~!感谢分享
作者: zhangyazhou123    时间: 2024-12-7 08:25
#在这里快速回复#支持开源~!感谢分享
作者: 何浩文    时间: 2024-12-7 11:01
支持开源~!感谢分享
作者: 一指温柔    时间: 2024-12-7 15:44
感谢分享
作者: 追梦11177012    时间: 2024-12-7 16:43
支持开源~!感谢分享
作者: hujie789    时间: 2024-12-7 17:10
感谢发布原创作品,精易因你更精彩!
作者: cf2006a    时间: 2024-12-7 19:21
收藏留着备用
作者: 夏亿    时间: 2024-12-7 21:01
感谢分享
作者: yu520    时间: 2024-12-7 22:32
收藏需要再来
作者: plt1111    时间: 2024-12-8 01:08
支持开源~!感谢分享
作者: lijiahao123    时间: 2024-12-8 08:39
感谢分享!!!!
作者: year1970    时间: 2024-12-8 10:00
感谢分享
作者: 17097575755    时间: 2024-12-8 17:06
感谢分享啊啊
作者: bianyuan456    时间: 2024-12-8 22:21
已经顶贴,感谢您对论坛的支持!
作者: qwe111qwe    时间: 2024-12-9 07:12
感谢分享!!!!
作者: 小虎来了    时间: 2024-12-9 08:44
感谢分享
作者: please    时间: 2024-12-9 09:38
感谢分享,支持开源!!!
作者: alanwoo    时间: 2024-12-9 10:14
学习学习
作者: wjswzj0    时间: 2024-12-9 10:15
感谢分享
作者: kyo9766    时间: 2024-12-9 14:10
新技能,感谢分享,很给力!~
作者: yezirun888    时间: 2024-12-15 20:29
666666666666666666666666666666666666666666666666666666666666666
作者: dodge123    时间: 2024-12-24 11:00
支持开源~!感谢分享
作者: jhwydcf    时间: 2025-5-22 11:41
支持一个  点赞先
作者: ntuzyq    时间: 2025-6-14 00:57
支持开源~!感谢分享
作者: opq123    时间: 2025-6-14 13:33
        感谢分享,很给力!~
作者: dengbo168    时间: 2025-6-16 12:19
好东西,分享谢谢
作者: dengbo168    时间: 2025-6-16 12:29
dengbo168 哈哈
作者: dengbo168    时间: 2025-6-16 12:30
dengbo168 你哈
作者: dengbo168    时间: 2025-6-16 12:30
这个东西怎么样呀!@@@@@@
作者: 在看风云    时间: 2025-6-26 11:06
6666666666666666666




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