- 论坛徽章:
- 0
|
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;
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/74607/showart_1110553.html |
|