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