|
29楼
发表于 2022-5-26 07:19:50
|
只看该作者
四川省成都市
DLL如下
ETCP初始化 (, &_客户端回调参考, , , )服务端端口 = 到整数 (取文本右边 (进程_取启动参数 (), 5 )) 客户端连接 (“127.0.0.1”, 服务端端口, 10, 真, , , , , )_临时子程序 () 返回 (0 ) |
_客户端回调参考 | | | |
客户指针 | 整数型 | | | | 服务句柄 | 整数型 | | | | 事件类型 | 整数型 | | | | 封包地址 | 整数型 | | | | 封包长度 | 整数型 | | | |
主程序如下
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 程_线程许可, 整数型
.程序集变量 程_服务端指针, 整数型
.程序集变量 程_运行目录, 文本型
.子程序 _按钮1_被单击
.局部变量 微信安装目录, 文本型
微信安装目录 = 取微信安转目录 ()
启动并注入 (微信安装目录, g_服务端口, 取运行目录 () + “\call.dll”, “WeChat.exe”)
.子程序 __启动窗口_创建完毕
ETCP初始化 (&服务端回调参考, , )
g_服务指针 = 服务端创建 (0, 真, “127.0.0.1”)
.如果真 (g_服务指针 = 0)
信息框 (“服务端创建失败”, 0, , )
返回 ()
.如果真结束
g_服务端口 = 服务端取端口 (g_服务指针)
.子程序 服务端回调参考, , , 多线程回调,例如在回调函数体内使用ADO请自己初始化:CoInitialize(0)
.参数 服务指针, 整数型, , 便于分辨服务端,"服务端创建"返回的指针。
.参数 客户句柄, 整数型, , 便于分辨客户端,客户端的socket。
.参数 事件类型, 整数型, , 1、客户进入 2、数据到达 3、客户断开,#etcp_ 常量。
.参数 封包地址, 整数型, , 通用取数据参数一。
.参数 封包长度, 整数型, , 通用取数据参数二。
.参数 服务总数, 整数型, , 该服务端的客户数量。
调试输出 (客户句柄)
客户句柄 = g_客户句柄
.如果真 (事件类型 = #etcp_Accept)
调试输出 (“进入”)
.如果真结束
.如果真 (事件类型 = #etcp_Recv)
调试输出 (“数据”)
.如果真结束
.如果真 (事件类型 = #etcp_Close)
调试输出 (“离开”)
.如果真结束
.如果真 (事件类型 = #etcp_Server_Close)
调试输出 (“服务端断开客户端”)
.如果真结束
.如果真 (事件类型 = #etcp_timeout)
调试输出 (“链接超时”)
.如果真结束
|
|