51Testing软件测试论坛

标题: 求助测试socket协议 [打印本页]

作者: wangnancjn    时间: 2012-8-24 16:35
标题: 求助测试socket协议
本帖最后由 wangnancjn 于 2012-8-24 17:11 编辑

小弟loadrunner初学,对socket协议也不是很懂,公司让去测试一个socket协议项目

想问下如果是socket协议中建立时套接字的"socket0"是根据什么来生成的,
我在项目中一个socket协议的客户端测试写了脚本,回放没问题,但是并发就会有一个用户报错,10053

由于项目中间停了,没有什么截图,就带回来一个脚本

vuser_init()
{
    lrs_startup(257);
    lrs_set_connect_timeout(20,0);
    lr_start_transaction("登录");
    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=10.177.209.58:9090",  LrsLastArg);
    lrs_send("socket0", "buf0", LrsLastArg);
    lrs_receive("socket0", "buf1", LrsLastArg);
    lr_end_transaction("登录", LR_AUTO);
    return 0;
}

#include "lrs.h"


Action()
{
    lr_start_transaction("查询");
    lrs_send("socket0", "buf2", LrsLastArg);
    lrs_receive("socket0", "buf3", LrsLastArg);
    lr_end_transaction("查询", LR_AUTO);
    return 0;
}

date.ws
send  buf2 89
        "    31CDC002                                            00001             "
        "  20120822101\r\n"

recv  buf3 20364
        " 20306CDC0020000查询成功                                00001             "
        "  20120822101湘潭花园                                10号楼               "
        "                   01                                      王鹤宇         "
。。。。。
回公司用飞秋都做了脚本,回放也没问题,但是并发报错
飞秋的报错vuser_init.c(18): Error : socket2 - Address already in use. Error code : 10048.
不知道这个位置需要怎么处理,是每个用户可以单独用一个么,那么这样的话怎么设置参数。。。

飞秋的脚本:

#include "lrs.h"
vuser_init()
{
    lrs_startup(257);
lrs_create_socket("socket2", "UDP", "LocalHost=2425",  LrsLastArg);
    return 0;
}

#include "lrs.h"
Action()
{
    lrs_send("socket2", "buf133", "TargetSocket=192.168.2.170:2425", LrsLastArg);
   return 0;
}


date.ws:
send  buf133 360
        "1_lbt4_4#128#DC0EA1822FB2#0#0#0#2.5a:1345815876:Administrator:ADMIN-PC:419"
        "4592:20002:05c0e2c561fe1a8ea49e592441c96ca8c05081a8c02f9cf69ab9f58338ec348"
        "845d7652f227ad030fb4c22a7aa1d06443def8ea444852b7f954a501df19d7e03f60022593"
        "ed11de4b188284b62acd93cd6602c7411715501e5db6bb55572f2568641e0027670466d620"
        "9ec8da3ff4f6dc70abc2897587b5c194bff6106af3cd4:d2bcb960871a5900"
        "\x00\x00"


另外是不是如果要并发的话必须设置IP欺骗,我设置了IP欺骗,现在有3个IP
[attach]81099[/attach]
场景里设置
[attach]81100[/attach]
或者
[attach]81098[/attach]
都是2并发,还是会报错vuser_init.c(18): Error : socket2 - Address already in use. Error code : 10048.
求救


另外我发现我把generators设置成任何一个IP发给同事,他那边都显示200的IP不知道为什么
作者: ku1ai    时间: 2012-8-24 22:52
明显是端口被占用了,你用netstat可以看到这个端口已经被使用了
作者: wangnancjn    时间: 2012-8-25 19:51
回复 2# ku1ai


    您说的是哪个啊,是飞秋的还是上面那个,如果是飞秋的话,端口被占了是说一个服务端要是接受多并发要开多个端口还是发送端呢,要怎么处理啊,对网络这块还不是很熟
作者: wangnancjn    时间: 2012-8-27 11:06
哪个前辈帮忙解决下啊,谢谢了,,有点急
作者: fetch    时间: 2012-9-10 18:02
回复 1# wangnancjn


    你好,这个项目你现在完成了么?如果完成了,你能把你完整的脚本给我发一份么?谢谢了,我也在学习这一块的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2