zoukankan      html  css  js  c++  java
  • 20.5 PUSH标志

    import socket
    import time
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    SEND_BUF_SIZE = 13
    RECV_BUF_SIZE = 17
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    s.setsockopt( socket.SOL_SOCKET, socket.SO_SNDBUF, SEND_BUF_SIZE)
    s.setsockopt( socket.SOL_SOCKET, socket.SO_RCVBUF, RECV_BUF_SIZE)
    print s.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)
    print s.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF)
    
    s.connect(("192.168.137.2",8080))
    s.settimeout(10)
    #print s.getsockopt()
    print s.getsockname()
    print s.getpeername()
    #s.sendall("this is shutdown test" + "
    ")
    print dir(socket.herror)
    print(socket.SHUT_RDWR)
    print(socket.SHUT_RD)
    print(socket.SHUT_WR)
    #print s.recv(90)
    s.send('56789')
    print s.recv(900)
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled2/http/t5.py
    17
    13
    ('192.168.137.1', 58374)
    ('192.168.137.2', 8080)
    ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', '__getslice__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', 'args', 'errno', 'filename', 'message', 'strerror']
    2
    0
    1
    response:56789
    
    
    
    
    21:25:18.410917 IP 192.168.137.1.58374 > node1.webcache: Flags [P.], seq 1:6, ack 1, win 4, length 5 ##发送
    
    
    21:25:18.411130 IP node1.webcache > 192.168.137.1.58374: Flags [P.], seq 1:15, ack 6, win 23, length 14 ##接收
    
    20.5 PUSH标志
    
    在每一个TCP例子中,我们都看到了PUSH标志,但一直没有介绍它的用途。发送方使用
    
    该标志通知接收方将收到的数据全都提交给接收进程。这里的数据包括与PUSH一起传送的数据
    
    在最初的TCP规范中,一般假定编程接口允许发送进程告诉它的TCP何时设置PUSH标志。
    
    在一个交互程序中,当客户发送一个名称给服务器时,它设置PUSH 标志并停下来等待服务器的响应。
    
    通过允许客户应用程序通知其TCP设置PUSH标志,客户进程通知TCP在向服务器发送一个报文段
    
    时不要因等待额外数据而使已提交数据在缓冲中滞留。
  • 相关阅读:
    几种常用的曲线
    0188. Best Time to Buy and Sell Stock IV (H)
    0074. Search a 2D Matrix (M)
    0189. Rotate Array (E)
    0148. Sort List (M)
    0859. Buddy Strings (E)
    0316. Remove Duplicate Letters (M)
    0452. Minimum Number of Arrows to Burst Balloons (M)
    0449. Serialize and Deserialize BST (M)
    0704. Binary Search (E)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348546.html
Copyright © 2011-2022 走看看