• 没有开启keepalive,接收消息会超时


    启动客户端脚本后,断开服务端网络
    
    node2:/root/test#cat t23.py 
    import socket
    import IN
    import struct
    import time
    b=2
    def getnum(x):
        b='2'
        for y in range(x):
            #print y
            b=b+'2'
            if len(b) == x:
                #print '-------------'
                #print len(b)
                return b
    print getnum(1024)
    c=getnum(1460)
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #class IN:
    #    IP_MTU = 14
    #    IP_PMTUDISC_DONT = 0
    #    IP_PMTUDISC_DO = 2
    #    IP_MTU_DISCOVER=10
    #s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    #s.setsockopt(socket.IPPROTO_IP, IN.IP_MTU_DISCOVER,IN.IP_PMTUDISC_DONT)
    # print dir(s.setsockopt(socket.SOL_SOCKET))
    s.connect(("192.168.137.2",8080))
    s.settimeout(17)
    print len(c)
    time.sleep(60)
    s.send(c)
    s.recv(999)
    s.close()
    
    
    node2:/root/test#tcpdump -S -i eth1 '((tcp) and  (host 192.168.137.2) and (port 8080) )'
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
    09:33:34.551888 IP node2.62913 > node1.webcache: Flags [S], seq 248056823, win 14600, options [mss 1460,sackOK,TS val 130729490 ecr 0,nop,wscale 7], length 0
    09:33:34.552324 IP node1.webcache > node2.62913: Flags [S.], seq 3419139787, ack 248056824, win 14480, options [mss 1460,sackOK,TS val 3569173 ecr 130729490,nop,wscale 6], length 0
    09:33:34.552372 IP node2.62913 > node1.webcache: Flags [.], ack 3419139788, win 115, options [nop,nop,TS val 130729491 ecr 3569173], length 0
    
    
    
    
    09:34:34.613754 IP node2.62913 > node1.webcache: Flags [.], seq 248056824:248058272, ack 3419139788, win 115, options [nop,nop,TS val 130789552 ecr 3569173], length 1448
    09:34:34.613939 IP node2.62913 > node1.webcache: Flags [P.], seq 248058272:248058284, ack 3419139788, win 115, options [nop,nop,TS val 130789552 ecr 3569173], length 12
    09:34:34.814523 IP node2.62913 > node1.webcache: Flags [.], seq 248056824:248058272, ack 3419139788, win 115, options [nop,nop,TS val 130789753 ecr 3569173], length 1448
    09:34:35.216869 IP node2.62913 > node1.webcache: Flags [.], seq 248056824:248058272, ack 3419139788, win 115, options [nop,nop,TS val 130790155 ecr 3569173], length 1448
    09:34:36.020818 IP node2.62913 > node1.webcache: Flags [.], seq 248056824:248058272, ack 3419139788, win 115, options [nop,nop,TS val 130790959 ecr 3569173], length 1448
    09:34:37.628674 IP node2.62913 > node1.webcache: Flags [.], seq 248056824:248058272, ack 3419139788, win 115, options [nop,nop,TS val 130792567 ecr 3569173], length 1448
    09:34:40.844360 IP node2.62913 > node1.webcache: Flags [.], seq 248056824:248058272, ack 3419139788, win 115, options [nop,nop,TS val 130795783 ecr 3569173], length 1448
    
    
    node2:/root/test#time python t23.py 
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    1460
    Traceback (most recent call last):
      File "t23.py", line 31, in <module>
        s.recv(999)
    socket.timeout: timed out
    
    real	1m17.120s
    user	0m0.015s
    sys	0m0.026s
  • 相关阅读:
    包含min函数的栈
    栈的应用
    给定金额m和红包数量n
    顺时针打印矩阵
    二叉树的镜像
    elementUI table表头错位问题
    金额格式化
    ajax跨域问题全解
    JavaScript 的 this 原理
    vue技术分享-你可能不知道的7个秘密
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348443.html
Copyright © 2020-2023  润新知