51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3423|回复: 3
打印 上一主题 下一主题

[原创] 关于socket协议中关联问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-11-2 21:55:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做一个项目,使用的协议是socket。使用diff工具,在data.ws里,很多recv数据包中有很多变化的数据。
就是因为这些需要关联的数据,让我有很多迷惑的地方:
1.按理来说,这些变化的数据应该关联起来。但是我不设置关联,他是可以正常通过,设置迭代,一样可以正常通过。
  以前看过一篇文章,说是 socket协议,回放时,不会去检查数据包的正确型,只会检查数据包的长度(大小),
  不知道是不是对的,请各位说说!!

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

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

最后,一个最关键的问题,socket协议回放时,是不是真的不会去检查 send 和recv 数据包的具体内容是什么,
他只关心send 和recv 数据包的长度,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-11-3 08:30:54 | 只看该作者
loadrunner不会检查数据包内容的。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-11-3 10:34:31 | 只看该作者
我是个菜鸟,我来说几句

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

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

可以用这个逻辑进行判断,不知道对你有没有帮助!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-2-25 16:20:56 | 只看该作者

回复 1# 的帖子

re:socket协议回放时,是不是真的不会去检查 send 和recv 数据包的具体内容是什么,
他只关心send 和recv 数据包的长度,

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

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-23 02:27 , Processed in 0.079906 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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