免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1070 | 回复: 0
打印 上一主题 下一主题

服务器把两个报文当成一个报文接收 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-06 12:58 |只看该作者 |倒序浏览
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP