|
200精币
客户Duan发送消息给服务器,服务器能在单独返回消息给客户Duan吗
服务器发送数据给客户Duan,客户Duan数据接收不完整。
客户Duan:
变量名 | 类 型 | 静态 | 数组 | 备 注 | a | 整数型 | | | b | 字节集 | | | 赋值秒数 | 整数型 | | | 现行时间 | 日期时间型 | | | 进入许可区 (许可证 )现行时间 = 取现行时间 ()a = 时间转秒 (编辑框8.内容 )判断 (a > 1 )赋值秒数 = a 赋值秒数 = 14400 × 到整数 (编辑框2.内容 )b = 到字节集 (“蜘蛛|” + 到文本 (赋值秒数))客户Duan. 发送 (客户Duan1, _HP_取字节集指针 (b ), _HP_取字节集长度 (b )) 编辑框8.内容 = “0时00分00秒”退出许可区 (许可证 )
服务器
变量名 | 类 型 | 静态 | 数组 | 备 注 | a | 整数型 | | | 赋值秒数 | 整数型 | | | 现行时间 | 日期时间型 | | | 连接ID | 整数型 | | 0 | b | 字节集 | | | n | 整数型 | | | i | 整数型 | | | 进入许可区 (许可证 )现行时间 = 取现行时间 ()a = 到整数 (参数 )判断 (a > 1 )赋值秒数 = a 烟花蜘蛛等待时间 = 增减时间 (现行时间, #秒, 赋值秒数 )烟花蜘蛛刷新时间 = 取时间间隔 (烟花蜘蛛等待时间, 现行时间, #秒 )赋值秒数 = 烟花蜘蛛刷新时间 如果 (超级列表框1. 取表项数 () ≥ 1 )服务器. 取所有连接ID (服务器1, 连接ID )b = 到字节集 (“蜘蛛|” + 到文本 (赋值秒数 )) n = 取数组成员数 (连接ID )如果 (n > 0 )计次循环首 (n, i )服务器. 发送 (服务器1, 连接ID [i ], _HP_取字节集指针 (b ), _HP_取字节集长度 (b )) 计次循环尾 ()调试输出 (到文本 (b))退出许可区 (许可证 )
还有个问题:服务端发给客户Duan数据,客户Duan接收数据切割不完整,服务器发送数据必须加延迟才可以,实际在我的写的程序中服务器延时300才可以切割完整,300多个程序硬是给我加了3分钟才接收完,服务器不加延迟客户Duan怎么能切割完整。
获取服务器时间多点几次就会发现切割不完整。
切割代码:
|
客户Duan1数据到达 | | | |
pSende | 整数型 | | | | dwConnID | 整数型 | | | | pData | 整数型 | | | | iLength | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | pBuffer | 字节集 | | | a | 文本型 | | | ee | 文本型 | | 2 |
pBuffer = 指针到字节集 (pData, iLength )a = 到文本 (pBuffer )调试输出 (a )ee = 分割文本 (a, “|”, )判断 (ee [1 ] = “蜘蛛”)烟花蜘蛛 (ee [2 ])判断 (ee [1 ] = “天珠”)烟花天珠 (ee [2 ])判断 (ee [1 ] = “帝王”)烟花帝王 (ee [2 ])
完整切割
* “蜘蛛|28773”
* “天珠|29975”
* “帝王|31975”
不完整切割
* “天珠|29975帝王|31975”
* “蜘蛛|28773”
测试123.zip
(1.85 MB, 下载次数: 1)
|
|