测试场景:聊天系统

用户登录后,要先向服务器发送用户名,然后可以发送聊天信息,同时也可以接受聊天信息。

如果接受的字符为定长时,可以设定接受长度。recv buf2 66

#include "lrs.h"
Action()
{
    int i = 1;
    char *recvbuf;  
    int recvlen=0;

lr_start_transaction("Transform");

//创建连接
lrs_create_socket("socket0", "TCP", "RemoteHost=172.30.22.77:8480", LrsLastArg);
//发送用户名
lrs_send("socket0", "buf0", LrsLastArg);
//发送聊天信息
lrs_send("socket0", "buf1", LrsLastArg);
/*
do{
lrs_send("socket0", "buf1", LrsLastArg);
i++;
}while(i<5);

*/
//接受聊天信息
lrs_receive("socket0", "buf2", LrsLastArg);
    lrs_get_last_received_buffer("socket0",&recvbuf,&recvlen);
    lr_output_message("Received:\n%s",lr_eval_string(recvbuf));
lr_output_message("recvlen=%d",recvlen);
//断开连接
lrs_close_socket("socket0");
lr_end_transaction("Transform", LR_AUTO);

return 0;
}

data.ws

;WSRData 2 1

send buf0 5
"Kevin\n"

send buf1 5
"Hello\n"

recv buf2 66

-1

运行结果:

Starting action Action.
Action.c(10): Notify: Transaction "Transform" started.
Action.c(20): lrs_create_socket(socket0, TCP, ...)
Action.c(21): lrs_send(socket0, buf0)
Action.c(22): lrs_send(socket0, buf1)
Action.c(28): lrs_receive(socket0, buf2)
Action.c(29): lrs_get_last_received_buffer(socket0, buf_p, size_p)
Action.c(30): Received:
your name is:
Kevin[896565348] come
Kevin[896565348] said :Hello
Action.c(31): recvlen=66
Action.c(33): lrs_close_socket(socket0)
Action.c(34): Notify: Transaction "Transform" ended with "Pass" status (Duration: 0.0289).

如果接受的消息长度为不定长的,可以使用*来代替长度。

将发送的数据使用参数化。

;WSRData 2 1

send buf0 5
"Kevin\n"

send buf1 *
"<SendMsg>"

recv buf2 *

 
 

loadrunner socket协议问题归纳(4)---buffer接收变长和定长的数据的更多相关文章

  1. loadrunner socket协议问题归纳(6)

    首先让我们先看一下loadrunner- winsock 函数 一览表: lrs_accept_connection 接受侦听套接字连接 lrs_close_socket 关闭打开的套接字       ...

  2. loadrunner socket协议问题归纳(3)

    摘要:通过实例讲解loadrunner中的socket协议性能测试的一种测试方法,如何不依赖loadrunner既定规则,自行控制收发数据包 关键词:Loadrunner,socket,自行控制,收发 ...

  3. loadrunner socket协议问题归纳(0)

    一.概述         Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作.     二.socket概述         soc ...

  4. loadrunner socket协议问题归纳(1)

    前段时间测了loadrunner直接发送报文到socket上的性能测试.在此,稍微回顾整理下. 与socket通讯,有两种方式,一种是建立长连接,建立后,不停的发送,接收.另外一种是建立短连接,建立连 ...

  5. loadrunner socket协议问题归纳(2)

    编写步骤 1.建立与服务端的连接 rc=lrs_create_socket(“socket0”,”TCP”,”LocalHost=0”,”RemoteHost=127.0.0.1:8808”,LrsL ...

  6. loadrunner socket协议问题归纳(5)

    获取服务器的返回值,可以用web_reg_save_param函数,该参数最好放到: 语法: int web_reg_save_param(const char *ParamName, <lis ...

  7. Loadrunner socket协议lrs_receive函数接收到返回数据包 仍然等待服务器返回--解决

    前段时间在使用loadrunner socket协议发送数据包到到服务器,使用lrs_receive接收服务器应答数据包,已经接收到数据包,但LR仍然在等待服务器端返回,而且日志打印显示每次接收返回都 ...

  8. Loadrunner 中socket协议RecvBuffer接收到数据长度为空

    socket通讯,有两种方式,一种是建立长连接(TCP),建立后,不停的发送,接收.另外一种是建立短连接(UDP),建立连接,发送报文,接收响应,关闭连接.两种方式 server的开销不同. 今天出现 ...

  9. 自行控制loadrunner的socket协议性能测试 (转)

    一前言 二任务的提出 三实现方案讨论 四技术要点讲解 如何开始录制一个最简单的收发数据包脚本 写日志文件 一行一行读数据包文件 字符串转换为十六进制数据包 发送自己定义的数据包 接收数据包到自定义缓冲 ...

随机推荐

  1. 设置PL/SQL Developer 字符集

    本文转自:http://blog.itpub.net/26613085/viewspace-765429/ 适用于:客户端和服务端不一致的情况,或者客户端某个字段的值乱码

  2. MAC 相关

    1.找回个人收藏下的消失项,如文稿等   点击个人收藏中下的任意项,如桌面.下载等,按住Command+上箭头,出现如下界面,拖住消失项添加到个人收藏即可

  3. Linux基础入门 第一章:Linux环境搭建——Redhat 6.4图文安装教程

    1.创建新的虚拟机 2.选择自定义 3.选择Workstation 10.0 4.选择稍后安装操作系统 5.选择Red Hat 6 64位 6.对虚拟机命名和选择安装位置 7.选择处理器配置 8.选择 ...

  4. mysql如何把一个表直接拷贝到一个新的表

    一:在新表已经建立好的情况下 1,拷贝所有的字段 insert into new_table select * from old_table 2,拷贝部分字段表 insert into new_tab ...

  5. php 实现重定向的三种方式

    header()函数; header('location:http://www.baidu.com'); meta标签; echo '<meta http-equiv="refresh ...

  6. 大数据学习之Hadoop快速入门

    1.Hadoop生态概况 Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效 ...

  7. Opencv3.0-python: 编译报错color.cpp:7456: error: (-215) scn == 3 || scn == 4 的解决方案

    结合Opencv3.0读取视频时,出现报错:C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:11111: error: ( ...

  8. SAP 直接修改程序的方法

    一般项目上都会有这么个神奇的程序,能在测试机和生产机上直接修改程序... REPORT ztest_change. "变量定义 , line() TYPE c, "如果代码中某行大 ...

  9. js scroll nav

    http://jsfiddle.net/cse_tushar/Dxtyu/141/http://ironsummitmedia.github.io/startbootstrap-scrolling-n ...

  10. 20145226夏艺华 网络对抗技术 EXP7 网络欺诈技术防范

    20145226夏艺华 网络对抗技术 EXP7 网络欺诈技术防范 实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. · 简单应用SET工具建立冒名网站 · ett ...