雪之苏 发表于 2010-5-12 23:04:27

(在线等)求助:关于socket协议下报error:10054的疑问

最近做一个系统,服务器和客户端都是在linux上的,用了EPOLL机制。录制脚本用了wplus_init_wsock.exe,程序仅仅是检查了客户端和服务器的一次网络握手,脚本如下:
Action()
{
       
        lr_rendezvous("test");

        lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=172.25.4.108:8586", LrsLastArg);

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

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

        lrs_close_socket("socket0");

        return 0;
}

附上data.ws,如下:
;WSRData 2 1

send buf0 70
        "10000001"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "1.0.0"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00"

recv buf1 2
        "1\n"

持续跑10个并发的时候,表现正常。持续跑30个并发,在不同时间点(如五分钟、十分钟等)出现大批量的failed,都是报错:Action.c(16): Error : socket0 - Connection reset by peer. Error code : 10054.
并且在服务器发现突然出现大批量的close_out状态。
服务器端连接数和缓冲大小已经做过多次调整,错误依然。
查了一下,linux的链接close_out状态是因为通信通道异常关闭造成的。
有没有高手遇到过的,帮忙解释一下如何解决啊。是不是脚本有问题,还是程序有问题?

雪之苏 发表于 2010-5-12 23:06:30

并且会出现服务当掉的情况
可能是大批量的失败
也可能服务直接当掉
这些现象,包括什么时候出现问题以及服务器参数与出现错误的时机之间没有发现有什么规律

雪之苏 发表于 2010-5-15 12:33:48

晕倒。。。。。
居然没有人回答

yxd2006 发表于 2011-8-22 15:48:43

关注中。......

wower1985 发表于 2011-8-22 16:17:52

回复 1# 雪之苏

会不会是发数据太猛了导致的,你应该发觉了,创建socket这样的脚本跑的是非常的快,不断的创建连接、关闭连接,压力很大啊。。。。
建议设置间隔时间、或慢慢加压试试。
页: [1]
查看完整版本: (在线等)求助:关于socket协议下报error:10054的疑问