levelksk 发表于 2012-2-2 17:31:34

请问下loadrunner中如果发送二进制字节流?

请问下,如果在loadrunner中发送二进制字节流,使用sockets协议,发送的内容
32
0
0
0
0
0
0
0
2
0
0
1
25
139
78
35
73
238
0
0
0
0
0
5
0
0
0
0
0
0
0
0
求助,- - 今天一天搞这个,感觉快疯了

wower1985 发表于 2012-2-3 17:27:38

本帖最后由 wower1985 于 2012-2-3 17:30 编辑

sendbuf20 30
      "\x06\x03\xAC\x0C\x0E\x01\x05\x40\xA0\x00\x00\x78\xF3"
发十六进制的。。。。你换下试试:sleepy:,是在不行吧,你把你的二进制转成十六进制,每个数之间用“\x”分割,应该就没问题了。

levelksk 发表于 2012-2-6 17:59:21

谢谢楼上的,问题顺利解决了,在data.ws中,我做了如下编辑
;WSRData 2 1

sendbuf0 128
        "\x20"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x02"
        "\x00"
        "\x00"
        "\x01"
        "\x19"
        "\x8B"
        "\x4E"
        "\x23"
        "\x49"
        "\xEE"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x05"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"

recvbuf1 32



-1

服务器接收数据正确

云层 发表于 2012-2-6 18:16:00

其实你可以并成一个字符串

cafard-haibin 发表于 2012-9-21 16:10:52

1、基础知识:
(1)需要知道所测试软件中的包结构。
(2)知道二进制流;
(3)知道Big Endian 与 Little Endian
(4)知道字符类型的长度
(5)知道:当两台采用不同字节序的主机通信时,在传输数据之前双方都必须 对其进行字节序转换,转为网络字节序后才能进行传输.

2、实例说明:

如某包体中有两个值,定义如下:

struct msgHead
{
int id,
char name
}

假设我们要发送的包体就包括这两个字段。并且id=81001 ,name=A

那么在loadrunner的data.ws文件中或者自己自定义的数据包中的值分别如下:

/*********************************
send buf0   5

"\x69\x3C\x01\x00"//说明:十进制:81001十六进制:13C69 按照高低位存储:69 3c 01 00

"\x41"   //说明: ascii码A 对应十进制是65 ,65转化成十六进制是41
*********************************/


三、注意

通过上面的例子,真正的理解后,不管你录制后的数据包显示什么样的乱码。都可以用以上方法,根据

包结构中定义的长度,一个个给解析出来。

xiaofan3707 发表于 2012-9-24 14:34:14

学习了
页: [1]
查看完整版本: 请问下loadrunner中如果发送二进制字节流?