|
5测试积点
问题描述:
1、使用loadrunner的socket测试UDP协议
2、此UDP协议在消息体前面添加了一些自定义的头(即私有协议)
3、获取随机数操作
步骤1:客户端发送获取随机数请求到服务器上,服务器会返回一个确认的ACK,表示服务器收到了请求,
步骤2:服务器在返回ACK后,接着返回了随机数(有重发机制,服务器判断客户端是否收到随机数的依据是客户端是否发送了ACK)
步骤3:客户端接收到随机数后,发送ACK给服务器,表示接收到了随机数,操作结束
问题:
1、发现服务器要发送3次的随机数给客户端后,才会继续进行发送ACK的操作,请问这个问题怎么解决,万分感谢
2、lrs_receive的接收结束原理是什么,为什么要在接收了一个随机数报后不执行“lrs_send("socket0","buf2", "TargetSocket=10.137.86.5:8089", LrsLastArg);“代码?
LR脚本
Action()
{
lrs_create_socket("socket0", "UDP", "LocalHost=18998", LrsLastArg);
lrs_send"buf0", "TargetSocket=10.137.86.5:8089", LrsLastArg
rs_set_recv_timeout2(5,0);
lr_start_transaction("GetRamom");
lrs_receive("socket0", "buf1", LrsLastArg);
lrs_save_searched_string("socket0",NULL,"RAMOM1","LB=nonce\":","RB=\"",3,1,-1);
lrs_save_searched_string("socket0",NULL,"resultCode","LB=resultCode\"","RB=,",3,1,-1);
if (strcmp(lr_eval_string("<resultCode>"),"401")==0) {
lr_end_transaction("GetRamom", LR_PASS);
}
lr_output_message("resultCode is : %s",lr_eval_string("<resultCode>"));
lr_output_message("RAMOM is : %s",lr_eval_string("<RAMOM1>"));
lrs_send("socket0","buf2", "TargetSocket=10.137.86.5:8089", LrsLastArg);
return 0;
} |
|