Loadrunner Socket协议日志输出

本文介绍了一个使用Socket进行TCP通信的示例程序。该程序创建了一个到远程主机的连接,并发送了一个名为buf0的数据包,接收返回的数据包并解析响应代码。此外还展示了如何通过lrs库函数统计数据包长度及转换响应代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Action()
{
 char *buf0;
 int ActucalNumber;
 int respcode;
 int length;
 int Numberofbuf0;
 int rc;
 rc=lrs_create_socket("socket3", "TCP", "RemoteHost=162.16.1.46:9001",LrsLastArg);
 if (rc==0) 
       lr_output_message("Socket3  was successfully created "); 
else 
       lr_output_message("An error occurred while creating the socket, Error Code: %d", rc);
 lrs_send("socket3", "buf0", LrsLastArg);
 lrs_receive("socket3", "buf1", LrsLastArg);
lrs_get_buffer_by_name("buf0",&buf0,&Numberofbuf0);

//获取send buf的包的长度,在修改发送包buf0的时候自动统计包长

 ActucalNumber=lrs_get_last_received_buffer_size("socket3");

//socket接收到buf动态包长,由于返回的数据包的包长动态变化,所以lrs_save_param_ex操作时需要获取ActualNumber

 lrs_save_param_ex("socket3","received",NULL,0,ActucalNumber,"ascii","param1");

//获取返回数据的字符串
 lrs_save_param_ex("socket3","received",NULL,32,4,"ascii","param2");

//respcode在接口返回字符串中的位置为32~36
 length=strlen(lr_eval_string("<param2>"));

//获取rspcode字符串的长度,lrs_hex_string_to_int函数用
 lrs_hex_string_to_int(lr_eval_string("<param2>"),length,&respcode);


//字符型转换成整形,方便在日志中查看respcode结果
 lrs_close_socket("socket3");

 lr_output_message("-----------------------------------INFO---------------------------------------");
 lr_output_message("The length of resp is %d", ActucalNumber);
 lr_output_message("The content of resp is %s", lr_eval_string("<param1>"));
 lr_output_message("The content of respcode is %s", lr_eval_string("<param2>"));
 lr_output_message("Respcode is %i", respcode);
 lr_output_message("包长度:%d",Numberofbuf0);


    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值