51Testing软件测试论坛

标题: 关于socket协议中关联问题 [打印本页]

作者: taijizongshi    时间: 2008-11-2 21:55
标题: 关于socket协议中关联问题
最近在做一个项目,使用的协议是socket。使用diff工具,在data.ws里,很多recv数据包中有很多变化的数据。
就是因为这些需要关联的数据,让我有很多迷惑的地方:
1.按理来说,这些变化的数据应该关联起来。但是我不设置关联,他是可以正常通过,设置迭代,一样可以正常通过。
  以前看过一篇文章,说是 socket协议,回放时,不会去检查数据包的正确型,只会检查数据包的长度(大小),
  不知道是不是对的,请各位说说!!

2.如果我设置关联, 虚拟 N 个用户跑场景,跑一段时间后,系统报错,报错大致内容:不能找到关联的数据。也不
  知道是为什么?

3.如果我使用socket协议录制一个查询客户信息的脚本。正常的话,每一个客户的信息肯定是不一样,那么服务器
  返回的 recv 数据包的内容肯定不一样,而且数据包的长度(大小)也不一样。如果是这样的话,那recv数据包中
  很多地方都要设置关联。这样理解对吗???

最后,一个最关键的问题,socket协议回放时,是不是真的不会去检查 send 和recv 数据包的具体内容是什么,
他只关心send 和recv 数据包的长度,
作者: whyleave    时间: 2008-11-3 08:30
loadrunner不会检查数据包内容的。
作者: angelsmile1219    时间: 2008-11-3 10:34
我是个菜鸟,我来说几句

我也遇到这样的问题,通过查lr帮助,可以这样解决
这个函数
lrs_save_param("socket1", NULL, "actualReceive",14,10);
这个表示,将你从服务端实际收到的数据,存为actualReceive(变量名,你自己取),后面两位,表示从第几位开始取,取多少位,你可以用这个实际收到的值,和你预计收到的值进行比较

如果实际收到的是receiveBuf,那么你可以用正面的函数进行比较
rc = strcmp(lr_eval_string("<receiveBuf>"),lr_eval_string("<actualReceive>"));
如果是0就是相等了

可以用这个逻辑进行判断,不知道对你有没有帮助!
作者: Elaine126    时间: 2009-2-25 16:20
标题: 回复 1# 的帖子
re:socket协议回放时,是不是真的不会去检查 send 和recv 数据包的具体内容是什么,
他只关心send 和recv 数据包的长度,

答复:是的。我也在做,去年研究过这块。一起加油。。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2