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分钟 你把close 也放入Acation
你是怎么样判断报文发送成功的. 标题说的是lr脚本如何实现长链接。既然是长连接,就需要在初始化的时候建立起来,然后连接不关闭,这些用户能够共享这些连接。
我觉得lz的脚本存在一点问题,初始化的时候,的确建立了连接,但是在并发的时候,存在多线程并发的情况,如果一个连接被获取了以后,那其他线程需要获取其余的空闲的tcp长连接,当连接池不够用的时候,判断一下,是否需要new一些新的连接,或者等待连接池有可用连接。
代码需要修改下吧。 问题已经解决了,谢谢大家 你是怎么解决的,我也遇到这个问题,烦请赐教
QQ:281891741
页:
[1]