要在Linux环境下使用Python做服务端,在Windows环境下做客户端,用易语言方便开发。
使用现成的模块Hp-socket
易语言:[搬运]HPsocket5.8.1中文支持库+Demo
https://bbs.125.la/forum.php?mod=viewthread&tid=14676555&highlight=socket
Python:HPSocket4Python: 这个是HPSocket的Python绑定
https://gitee.com/RonxBulld/HPSocket4Python## 标题
项目地址:GitHub High Performance TCP/UDP/HTTP Communication Component
https://github.com/ldcsaa/HP-Socket/tree/master
HP-socket
有三个组件
Server组件:基于IOCP/ EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。
Agent组件:Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术架构。一个Agent组件对象可同时建立和高效处理大规模Socket连接。
Client组件:基于Event Select / POLL通信模型,每个组件对象创建一个通信线程并管理一个Socket连接,适用于小规模客户端场景。
Agent组件相当于多个Client
Server组件有三种模式:PUSH、PULL、PACK
SERVER
开发文档:https://github.com/ldcsaa/HP-Socket/blob/master/Doc/HP-Socket%20Development%20Guide.pdf
PULL模型提供Fetch方法,让程序从组件中拉取数据。
PUSH、PACK模型组件接收到数据时会触发监听器对象的OnReceive(pSender, dwConnID, pData, iLength)事件,PULL模型组件接收到数据时会触发监听器对象的OnReceive(pSender, dwConnID, iLength)事件
工作流程:
DEMO
直接PACK进行开发。TcpPackServer.py
易语言的Demo没有PACK的,参照PULL写一个。
不知为啥易语言的TCPPACK连接python发送一次就会断开连接
用TcpPushServer.py和TestEcho-Client.e
版权归原作者 nickdlk 所有, 如有侵权,请联系我们删除。