• loadrunner socket协议问题归纳(4)---buffer接收变长和定长的数据


    测试场景:聊天系统

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

    如果接受的字符为定长时,可以设定接受长度。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: %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 "

    send buf1 5
    "Hello "

    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 "

    send buf1 *
    "<SendMsg>"

    recv buf2 *

     
     
  • 相关阅读:
    JSP 中文乱码显示处理解决方案
    jsp的9大对象
    获取各种路径
    输出自绘制图片
    Emmet基本使用方法
    <input type="file" />浏览时只显示指定文件类型
    使用dockerfile文件创建image
    gunicorn 访问日志配置与项目启动
    制作符合自己需求的镜像 docker image
    linux 查看系统信息
  • 原文地址:https://www.cnblogs.com/VseYoung/p/loadrunner_4.html
Copyright © 2020-2023  润新知