|
init:
#include "lrs.h"
int i=0;
#define MAX_NUM 100
#define SEND_TIME 100
int socketID[MAX_NUM];
static int index = 0;
vuser_init()
{
lrs_startup(257);
memset(socketID, 0, MAX_NUM*sizeof(int));
return 0;
}
action:
#include "lrs.h"
char socketId[12];
char data[256] = "[ccccccccccc1(ITV085902A2277.7777N11177.<yj>E555.522201110120000)]";
int seeds = 0;
int ret = 0;
Action()
{
data[1] = 0x93;
data[12] = 0x35;
lr_rendezvous("大量发送数据");
lr_think_time(5);
lr_start_transaction("senddata");
seeds = 10000*srand(time(NULL));
memset(socketId, 0, 12 );
sprintf(socketId, "socket%d", abs(seeds));
ret = lrs_create_socket(socketId, "TCP", "LocalHost=0", "RemoteHost=192.168.1.230:4018", LrsLastArg);
if( ret == 0 ) {
for(i=0; i<1; i++ ) {
lrs_set_send_buffer(socketId, data, strlen(data));
lr_output_message("socketid=%s, send data is %s, return value is: %d", socketId, data, ret);
lrs_send(socketId, "data3", LrsLastArg);
}
lrs_close_socket(socketId);
}
lr_end_transaction("senddata", LR_AUTO);
return 0;
}
脚本大致就是这样的
遇到的问题是:压力测试,测的是网关那块的,因为要建立大量的不同用户进行数据并发,基于每个用户得建立一个socket连接,所以脚本就那样写了,可是问题是连接建立起来了,但10用户连上去就6-7个发送数据成功了,这是为什么啊?求高人指导,谢谢 |
|