博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Loadrunner socket协议lrs_receive函数接收到返回数据包 仍然等待服务器返回--解决
阅读量:5231 次
发布时间:2019-06-14

本文共 645 字,大约阅读时间需要 2 分钟。

前段时间在使用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);设置超时时间,两个函数的区别是:

  • lrs_set_recv_timeout:执行lrs_receive命令后,等待服务器返回消息的超时时间,即服务器的响应时间。
  • lrs_set_recv_timeout2:创建连接成功,接收到服务器返回的消息后,获取匹配消息的超时时间。lrs_receive接收到数据后,会和预期的数据长度进行比较,如果长度不匹配,它将重新从套接字上读取数据,直到超时为止。

下面的这篇博文很详细的描述了LR 模拟socket协议编写测试脚本的基本操作:

转载于:https://www.cnblogs.com/Bonnie83/p/3361811.html

你可能感兴趣的文章
Python: 解决simple-db-migrate的"No module named 'MySQLdb'错误
查看>>
【转】 VC中TCP实现 异步套接字编程的原理+代码
查看>>
Qt删除文件夹
查看>>
servlet
查看>>
a标签连接空标签的方法
查看>>
回调函数的那些事儿(转载)
查看>>
balsamiq mockups 注册
查看>>
Android:通过滤镜实现点击图片变暗效果
查看>>
c# 七牛 图片简单存取
查看>>
c++下使用命名管道实现进程间通信
查看>>
C语言小总结
查看>>
Python学习_3_运算符
查看>>
Python-常用函数
查看>>
修复无法启动的mariadb
查看>>
jetty9.4缓存文件目录自定义
查看>>
我的作品02
查看>>
图像处理程序的序列化和反序列化
查看>>
一、java三大特性--封装
查看>>
emmc
查看>>
solr使用方法 完全匹配
查看>>