HP_Socket组包、分包接收

易语言 2020-08-23 11:14:18

HP_Socket组包、分包接收

* 计算了 数据偏差在90以上 如果修改了 客户端的 DataHead 和 DataTail 的数据格式 数据偏差得重新计算
*这些偏差 其实就是 DataHead 和 DataTail 的长度
* 还有一个方法 在客户端 那边 加一个 “总数据长度:xxx”
* 挺简单的 服务器每次取数据的时候 就取 "总数据长度:xxx" 后面的
* 服务器这边在判断 总数据长度和接收数据长度是否相等

' ’取尾数据的长度(大小)
TailSize = 取字节集长度 (到字节集 (#换行符) + 到字节集 (“-----Tail-----”) + 到字节集 (#换行符) + 到字节集 (“HeadSize:”) + 到字节集 (到文本 (HeadSize)) + 到字节集 (#换行符) + 到字节集 (“-----Tail-----”))
' ’取出除掉头数据后的 数据(剩下 主体数据+尾数据)
Data = 字节集_取右边 (Data, DataSize - HeadSize)
' ’取出剩下的数据长度(大小)
DataSize = 取字节集长度 (Data)
' ’取出除掉尾数据后的 数据(剩下 主体数据)
Data = 字节集_取左边 (Data, DataSize - TailSize)
' ’最后剩下的就是 咋们要的主体数据了
Data = 动态解密 (Data, ) ' 解密数据
Buf [dwConnID].Free () ' ’释放缓存数据
' * 最后就是自行扩展了