脚本实现的主要功能:
1.登录
2.查询在线用户列表
lrs_send("socket0", "buf9", LrsLastArg);
3.自定义函数从响应的数据包中分析用户列表
void Save_RecvBuffer(char *socketID, char *SaveBuffer)
void Gen_onlineUser(char outputUser[100][20], int *outputNum, char *LastRecvBuffer)
4.组装要发送的数据包
lrs_set_send_buffer("socket0", msg, strlen(msg) );
5.随机向
其他在线用户发消息
lrs_send("socket0", "buf6", LrsLastArg);
6.登出
总结
通常来讲,Socket协议的
性能测试主要就是数据包的收发和数据内容的分析、处理,性能分析也是集中在数据包的发送和接收时间上。
LR里面Socket协议不支持自动关联,所以要自己手动关联,可以用lrs_save_param_ex()等函数。
这个例子中所收发的数据都是不加密的,如果是加密后的二进制数据包的话,就可能要用lrs_length_send()来代替lrs_send()函数了。
写的比较简单和混乱 ,大家凑或看吧,呵呵。
//下面是简化后的脚本/////////////////////////////////////////////////
Action()
{
//集合点
lr_rendezvous("Login");
//事务点
lr_start_transaction("Login
test");
//创建socket
lrs_create_socket("socket0", "TCP", "RemoteHost=10.20.5.213:8001", LrsLastArg);
//发包
lrs_send("socket0", "buf0", LrsLastArg);
//收包
lrs_receive("socket0", "buf1", LrsLastArg);
//事务结束点
lr_end_transaction("Login", LR_AUTO);
//断开socket
lrs_disable_socket("socket0", DISABLE_SEND_RECV);
lrs_close_socket("socket0");
return 0;
}