吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2712|回复: 2
收起左侧

[易语言 转载] TCP组件接收效率补丁2更新了,TCP组件接收10MB只需80毫秒!

[复制链接]
yestodo 发表于 2015-6-25 14:01


TCP组件接收效率补丁2更新了,TCP组件接收10MB只需80毫秒!

客户和服务器组件调用WSAAsyncSelect来获得通知给窗口,从而自动设为非阻塞方式。
当收到可读的通知消息时,首先调用ioctlsocket传递FIONREAD获得缓存区中当前收到的数据大小,并按照该大小调用recv。
但第一次recv调用完后不立即返回,而是继续调用recv传递1024字节大小的缓冲区,循环直到recv不返回数据为止。
而之所以单机发几MB都要好几秒,正是因为每次都传递1024字节大小的缓存区,假设10MB数据要分10240次调用recv,
慢就慢在要将1024字节的数据相加10240次。

该补丁就是将recv的1KB改为了默认1MB(可通过变量动态修改),但接收缓存从原先8K改为128K(单机测试下来128K最合适)。

补丁前发送10M数据用时5秒半,补丁后用时80毫秒左右。

(硬编码补丁必须独立或静态编译,测试E5.2可用)


TCP组件接收效率补丁2.rar (5.03 KB, 下载次数: 36)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qianlan 发表于 2015-6-25 14:20
然并卵~~~~~~~
岁月神偷 发表于 2015-8-14 14:29
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 04:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表