51Testing软件测试论坛

标题: winsock协议出错Address already in use. Error code : 10048. [打印本页]

作者: iwanttolearn    时间: 2006-4-11 15:15
标题: winsock协议出错Address already in use. Error code : 10048.
用qq练习录制winsock脚本,总显示Address already in use. Error code : 10048.为什么?
作者: Jimmyshao    时间: 2006-4-11 16:37
说的不是很详细阿。。。
作者: dongs    时间: 2006-4-12 19:00
贴出脚本看看
作者: qiuyan0528    时间: 2006-7-27 10:24
我也遇到了相似的问题,我用winsockets协议录制了一个c/s结够的脚本,loadrunner部署在服务器端,脚本是纪录登录服务器并进行操作的情况。在回访的时候出现如下问题:
Starting action vuser_init.
vuser_init.c(12): lrs_startup(257)
vuser_init.c(14): lrs_create_socket(socket0, TCP, ...)
vuser_init.c(14): Error : socket0 - Address already in use. Error code : 10048.
Abort was called from an action.
初始化脚本如下:
vuser_init()
{
    lrs_startup(257);

    lrs_create_socket("socket0", "TCP", "LocalHost=20010", "Backlog=2147483647",  LrsLastArg);

    lr_think_time(28);

    lrs_accept_connection("socket0", "socket1");

    lrs_create_socket("socket2", "TCP", "RemoteHost=202.204.54.131:1521",  LrsLastArg);

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

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

    lrs_send("socket2", "buf2", LrsLastArg);

    lrs_receive("socket2", "buf3", LrsLastArg);

    lrs_send("socket2", "buf4", LrsLastArg);

    lrs_receive("socket2", "buf5", LrsLastArg);

    lrs_send("socket2", "buf6", LrsLastArg);

    lrs_receive("socket2", "buf7", LrsLastArg);

    lrs_send("socket2", "buf8", LrsLastArg);

    lrs_receive("socket2", "buf9", LrsLastArg);

    lrs_send("socket2", "buf10", LrsLastArg);

    lrs_receive("socket2", "buf11", LrsLastArg);

    lrs_send("socket2", "buf12", LrsLastArg);

    lrs_receive("socket2", "buf13", LrsLastArg);

    lrs_send("socket2", "buf14", LrsLastArg);

    lrs_receive("socket2", "buf15", LrsLastArg);

    lrs_send("socket2", "buf16", LrsLastArg);

    lrs_receive("socket2", "buf17", LrsLastArg);

    lrs_send("socket2", "buf18", LrsLastArg);

    lrs_receive("socket2", "buf19", LrsLastArg);

    lrs_send("socket2", "buf20", LrsLastArg);

    lrs_receive("socket2", "buf21", LrsLastArg);

    lrs_send("socket2", "buf22", LrsLastArg);

    lrs_receive("socket2", "buf23", LrsLastArg);

    lrs_send("socket2", "buf24", LrsLastArg);

    lrs_receive("socket2", "buf25", LrsLastArg);

    lrs_send("socket2", "buf26", LrsLastArg);

    lrs_receive("socket2", "buf27", LrsLastArg);

    lrs_send("socket2", "buf28", LrsLastArg);

    lrs_receive("socket2", "buf29", LrsLastArg);

    lrs_receive("socket1", "buf30", LrsLastArg);

    lrs_send("socket1", "buf31", LrsLastArg);

    return 0;
}
不知是何原因。难道是关联问题?
作者: 一笑    时间: 2006-8-1 18:32
录制完毕后,把QQ关了再回放脚本就可以了
作者: viviana_wdy    时间: 2006-8-9 15:01
标题: 我录别的应用程序,回放时也报这个错10048
不是特定的哪个应用程序的问题吧
作者: chris_328    时间: 2006-8-10 11:54
分别录制两个相同的脚本,你可以看看是不是因为你的LocalHost=20010,这个值有变化
作者: Zee    时间: 2006-8-10 12:55
close掉会话。
作者: selon    时间: 2006-8-10 17:42
是socket通道用完后没有关闭的原因吧
作者: mailtolily    时间: 2007-7-9 17:10
我也遇到这样子的问题(socket通道我已经关闭)
作者: xiaoyao520    时间: 2007-7-9 17:25
碰到这个问题的时候,首先你检查你的socket 对象有没有关闭,如果关闭了的话还会出现这个情况的话,说明是在创建socket 对象时地址不可用,因为MaxUserPort默认大小为5000,所以你必须通过修改注册表的MaxUserPort来达到此目的.
在注册表中HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters 新增三个键值:
   MaxUserPort:10000
   TcpNumConnections:fffffe  
   TcpTimedWaitDelay:1e

设定重启之后再试一下.
本身有一个ReuseAddr参数,是通过设置这个值来重用未释放的socket地址.但在LR中我也不知道在哪里设置,有兴趣自己研究下.
作者: leoomo    时间: 2007-7-12 16:30
winsock录制完之后很容易忽略关掉sockets这个问题!
作者: irisfly89    时间: 2012-3-26 14:57
我也报错了 也是这个  学习了
作者: ufo0232215    时间: 2012-7-9 20:23
我也遇到了同样的问题。
不过目前,我使用IP欺骗,可以规避这个问题,但是仅限于少量并发,比如100、200并发。——主要看你的网段内,有哪些闲置资源了。
可是,我现在要做1000并发,所以绕不过这个问题了,也在困惑中。期待有人可以解决。




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