前段时间在使用loadrunner socket协议发送数据包到到服务器,使用lrs_receive接收服务器应答数据包,已经接收到数据包,但LR仍然在等待服务器端返回,并且日志打印显示每次接收返回都是waste time:10s,查资料发现原来是由于在data.ws中定义了recv buffer的长度与实际接收返回包长度不同致使,如定义为100,可是socket上的返回buffer长度不是100,这时候,loadrunner会尝试再次去读取,直到读到长度为100的buffer才算成功。尝试屡次,超时时间为多少?loadrunner默认为10s,因此你这里才会有等待10s的状况出现。服务器
能够使用lrs_set_recv_timeout(10,10)或lrs_set_recv_timeout2(1,10);设置超时时间,两个函数的区别是:socket
下面的这篇博文很详细的描述了LR 模拟socket协议编写测试脚本的基本操做:http://blog.csdn.net/zhuangxiu/article/details/6396052函数