Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108643
  • 博文数量: 25
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-28 19:05
文章分类

全部博文(25)

文章存档

2008年(25)

我的朋友

分类: LINUX

2008-08-06 12:58:44

LoadRunner中的Socket协议的缺陷,生成的脚本见下
Action
{
//Send query date
    lrs_send("socket0", "buf15", LrsLastArg);
// Recv query date
    lrs_receive("socket0", "buf16", LrsLastArg);
 lr_end_transaction("query", LR_AUTO);
// Send ok
    lrs_send("socket0", "buf17", LrsLastArg);
    return 0;
}
 
发送了一个socket包(lrs_send("socket0", "buf17", LrsLastArg);)之后再继续发送一个包( lrs_send("socket0", "buf15", LrsLastArg);)由于两次发送的时间极短,会导致服务器把这两个包数据当成一个包接收,接收到的包不能够解开。所以需要再两次发送之间加一个思考时间,保证服务器能够区分这是两个包,修改后见下:
/*********************************************************************
 * Created by Mercury Interactive Windows Sockets Recorder
 *
 * Created on: Mon Aug 04 15:32:44
 *********************************************************************/
#include "lrs.h"

Action()
{
   
   // lrs_send("socket0", "buf13", LrsLastArg);
   // lrs_receive("socket0", "buf14", LrsLastArg);
 lr_start_transaction("query");
 lr_think_time(0.5);
 //Send query date
    lrs_send("socket0", "buf15", LrsLastArg);
// Recv query date
    lrs_receive("socket0", "buf16", LrsLastArg);
 lr_end_transaction("query", LR_AUTO);
// Send ok
    lrs_send("socket0", "buf17", LrsLastArg);
    return 0;
}
阅读(803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~