java socket用例_性能测试基础-SOCKET协议用例

本文档详细介绍了如何在LoadRunner中利用C语言脚本来创建和操作SOCKET连接,进行TCP通信协议的性能测试。作者通过创建脚本,实现了参数化和优化,包括发送和接收数据,并对返回值进行了比较和判断,以此来确保通信的正确性和性能。

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

1.首先在进行性能测试的时候,我们要了解软件的通信协议是什么,我们使用什么协议,如何去模拟。SOCKET协议主要应用于在C/S模式的系统。

作者本人已当初做过的C/S架构的系统做的脚本录制,在上面做脚本的参数化以及优化工作。脚本如下:

#include "lrs.h"

#include

#include //包含了2个自定义的C函数。LR不支持C++的函数库。C++函数需要做修改

Action()

{

unsigned char cLine[2048]={0};

unsigned char cOut[2048]={0};

unsigned char cOut2[2048]={0};

unsigned char retu1[2048]={0};

int len = 0;

int len1 = 0;

int rc,i,re;

lr_start_transaction("Conn_socket");

rc =  lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:22222",  LrsLastArg);//创建SOCKET连接

//lr_output_message("rc=%d",rc);

//连接成功返回判断

if (rc != 0 ) {

lr_end_transaction("Conn_socket", LR_FAIL);

return 0;

}

lr_end_transaction("Conn_socket", LR_PASS);

lr_start_transaction("sender");

strcpy(cLine,lr_eval_string("" ));//LR参数传递入C环境

len = strlen((char*)cLine);//或者字符串的长度

//字符串转ASCII码

AsciiToHex(cLine,cOut,len);

//字节数组cOut的长度:

len1 = strlen((char*)cLine)/2;

lrs_save_param_ex("socket0", "user", (char *)cOut, 0, len1,"ascii", "sender0");

lrs_send("socket0","buf0", LrsLastArg);

lrs_receive("socket0","buf1",LrsLastArg);

lrs_save_param( "socket0", LRS_LAST_RECEIVED, "Parame1", 0, -1 );

strcpy(retu1,lr_eval_string(""));

re = lrs_get_last_received_buffer_size("socket0");

//ASCII码转字符串

HexToAscii( retu1,cOut2,re);

lr_output_message("return is %d",re);

if( cOut2 == cLine )//对返回值做判断

lr_end_transaction("sender", LR_PASS);

else

lr_end_transaction ("sender", LR_FAIL);

lrs_close_socket("socket0");

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值