|
|
数据到达 | 整数型 | | |
服务端指针 | 整数型 | | | | 客户端指针 | 整数型 | | | | 数据地址 | 整数型 | | | | 数据长度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_客户地址 | 文本型 | | | 局_接收内容 | 字节集 | | | 局_申请内存 | 整数型 | | | 局_发送数据 | 字节集 | | | 局_解密字节 | 字节集 | | | 局_解密数据 | 字节集 | | |
局_客户地址 = 服务端_读取远程地址_客户端 (客户端指针 )如果真 (数据长度 > 0 )局_接收内容 = BBTCP_通用取数据 (数据地址, 数据长度 )局_解密字节 = 字节集_寻找取左 (局_接收内容, { 255, 255, 255, 255 }, )局_解密数据 = 字节集_寻找取右 (局_接收内容, { 255, 255, 255, 255 }, )局_申请内存 = VirtualAlloc (0, Asm_取字节集长度 (局_解密字节 ), 4096, 64 ) 如果真 (局_申请内存 > 0 且 程序_延时 (10, )) 如果真 (Asm_写到内存 (局_申请内存, 局_解密字节 )) 局_发送数据 = 到字节集 (处理数据 (取字节集数据 (局_解密数据, #长整数型, ), 局_申请内存 )) VirtualFree (局_申请内存, 0, 32768 )返回 (0)
用BBTCP5.3 写了一个TCP服务,本地发送数据,服务器中处理完在返回,需要申请一个内存处理完了在释放
流程:客户端连接>>发送数据>>服务端接收>>申请内存>>处理数据>>释放内存>>发送回本地>>断开连接
现在有2个问题
1.时间久了内存占用越来越高(用的是短连接方式 所以都会执行到释放内存,但是时间久了内存越来越高,猜测是内存释放有问题)
2.多用户异步的情况下,似乎会造成内存出错导致闪退(我也不知道是啥,处理数据那一段是需要用到申请的内存地址,不知道我这样写的逻辑对不对!)
有没有办法解决这2个问题,最好是上代码吧,感谢各位大佬!
补充内容 (2022-11-28 00:56):
自行解决,频繁申请内存释放内存 导致的内存碎片化! |
|