recv延迟 很简单的同步socket,服务端起新线程处理客户端请求,小数据量传递数度还可以,服务端每次的recv,send耗时都是0ms,接着来一次从服务端获得1m的数据,速度也凑合,问题出客户端在recv这个1m的数据后,再一次send几个字节去获取一个很小的数据时,服务端的recv耗时500ms,不知道为什么?新起连接和用原连接都有该问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是如何得出来的时间?总不会不管有没有数据,就recv吧,这样肯定会时间长的 最开始时是发现客户端有停顿后来就加了时间记录请求A:发送10字节,返回10字节请求B:发送10字节,返回1M字节请求序列A ABA两种情况,1、每次新建立连接用的是服务端记录的时间:在recv的前后加了GetTickCount,2、客户端保持连接的情况是循环执行请求序列,记录每个请求的发送、接收、完成的3个时间,比较同样的请求在是否跟在一个有大数据量返回的请求后面的时间差异两种情况下,前三个请求在服务端的recv耗时为0,最后一个A在服务端的recv耗时为500多ms recv 是阻塞函数,没有数据的话一直等待,耗费的时间包括等待的时间 mfc42.dll以及如何得到release版本程序 size of 与 new 运算符的使用,高手帮忙 ACE无法编译通过……郁闷 300多个错误 打印问题,取不到打印机的设备 大家看看,我怎么得不到sourcefilter? 今天到www.sourceforge.net上看了一下!感觉不错(散分) HTTP代理服务程序 各位高手 :请问有关Com多线程使用的问题 如何根据一个进程名获取该程序的HANDLE? vc++的c/s结构的服务器改为web服务器 得到驱动器名称 学习MFC的问题???
请求A:发送10字节,返回10字节
请求B:发送10字节,返回1M字节
请求序列
A
A
B
A两种情况,
1、每次新建立连接用的是服务端记录的时间:在recv的前后加了GetTickCount,
2、客户端保持连接的情况是循环执行请求序列,记录每个请求的发送、接收、完成的3个时间,比较同样的请求在是否跟在一个有大数据量返回的请求后面的时间差异
两种情况下,前三个请求在服务端的recv耗时为0,最后一个A在服务端的recv耗时为500多ms