51Testing软件测试论坛

标题: lr脚本如何实现长链接 [打印本页]

作者: kissher    时间: 2011-6-20 15:05
标题: lr脚本如何实现长链接
我录制了一个脚本,模拟向服务器发送报文,长链接。但是在运行场景的时候,用户都是失败的,脚本运行的时候,没见报错,请问这是什么原因呢?
以下是我的脚本
#include "lrs.h"


vuser_init()
{


        lrs_startup(257);       

        lrs_create_socket("socket0", "TCP", "RemoteHost=130.251.101.41:10023",  LrsLastArg);

    return 0;
}







/*********************************************************************
* Created by Mercury Interactive Windows Sockets Recorder
*
* Created on: Wed Aug 18 13:53:27
*********************************************************************/

#include "lrs.h"


Action()
{

        lr_rendezvous("集合点");

        lr_start_transaction("发送报文");

    lrs_send("socket0", "buf0", LrsLastArg);

    lrs_receive("socket0", "buf1", LrsLastArg);

        lr_end_transaction("发送报文", LR_PASS);

  
    return 0;
}






#include "lrs.h"


vuser_end()
{
    lrs_close_socket("socket0");

        lrs_cleanup();



    return 0;
}




迭代次数设置的为1000次,run time settings中并发用户50个,时间为5分钟
作者: liujinkui    时间: 2011-6-20 15:49
你把close 也放入Acation
你是怎么样判断报文发送成功的.
作者: durbey_712    时间: 2011-6-20 15:54
标题说的是lr脚本如何实现长链接。既然是长连接,就需要在初始化的时候建立起来,然后连接不关闭,这些用户能够共享这些连接。
我觉得lz的脚本存在一点问题,初始化的时候,的确建立了连接,但是在并发的时候,存在多线程并发的情况,如果一个连接被获取了以后,那其他线程需要获取其余的空闲的tcp长连接,当连接池不够用的时候,判断一下,是否需要new一些新的连接,或者等待连接池有可用连接。
代码需要修改下吧。
作者: kissher    时间: 2011-6-20 17:23
问题已经解决了,谢谢大家
作者: yxd2006    时间: 2012-6-19 15:41
你是怎么解决的,我也遇到这个问题,烦请赐教
QQ:281891741




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