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

易语言置入汇编代码实现TCP/IOCP模块源码

:18.758KB :1 :2019-12-15 08:29:40

部分简介

.子程序 回调
.参数 自定义, 整数型
.参数 服务端句柄, 整数型
.参数 事件类型, 整数型
.参数 数据地址, 整数型
.参数 数据长度, 整数型
.局部变量 接收, 字节集
.局部变量 客户信息, 字节集
.局部变量 返回长度, 整数型
.局部变量 指针, 整数型
.局部变量 返回长度指针, 整数型

.判断开始 (事件类型 = #客户进入)
_EnterCriticalSection (许可证指针)
地址 = 数据地址
进入计数 = 进入计数 + 1
_LeaveCriticalSection (许可证指针)
SetDlgItemText (窗口句柄, 1005, “进入/离开: ” + 到文本 (进入计数) + “/” + 到文本 (离开计数))
客户信息 = 取空白字节集 (10)
Server_GetClientInfo (服务端句柄, 数据地址, _lstrcpyn_字节集 (客户信息, 客户信息, 0))
输出调试文本 (“套接字:” + 到文本 (取字节集数据 (客户信息, #整数型, 1)), “ip:” + 指针到文本 (取字节集数据 (客户信息, #整数型, 5)), “端口:” + 到文本 (取字节集数据 (客户信息, #短整数型, 9)))
.判断 (事件类型 = #客户离开)
_EnterCriticalSection (许可证指针)
地址 = 0
离开计数 = 离开计数 + 1
_LeaveCriticalSection (许可证指针)
SetDlgItemText (窗口句柄, 1005, “进入/离开: ” + 到文本 (进入计数) + “/” + 到文本 (离开计数))
.判断 (事件类型 = #数据到达)
接收 = 取空白字节集 (数据长度)
Server_Read (服务端句柄, 数据地址, _lstrcpyn_字节集 (接收, 接收, 0), 数据长度)
指针 = _lstrcpyn_字节集 (接收, 接收, 0)
返回长度指针 = _lstrcpyn_整数 (返回长度, 返回长度, 0)
.循环判断首 ()
.如果真 (Server_Write (服务端句柄, 数据地址, 指针, 数据长度, 返回长度指针) = 0)
跳出循环 ()
.如果真结束
指针 = 指针 + 返回长度
数据长度 = 数据长度 - 返回长度
.循环判断尾 (数据长度 ≠ 0)

易语言置入汇编代码实现TCP/IOCP模块源码

热门推荐

相关文章