zoukankan      html  css  js  c++  java
  • 服务端接收的数据限制buffersize

      T C P还能提供流量控制。 T C P连接的每一方都有固定大小的缓冲空间。 T C P的接收端只
    允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲
    区溢出。
    
    socket.recv(bufsize[, flags])¶
    Receive data from the socket. The return value is a string representing the data received. 
    
    The maximum amount of data to be received at once is specified by bufsize. 
    
    See the Unix manual page recv(2) for the meaning of the optional argument flags; it defaults to zero.
    
    从socket接收数据,返回值是一个字符串表示接收到的数据
    
    一次接收的最大的数据总量是通过bufsize指定的 
    
    
    
    
    
    msg = conn.recv(BUFSIZE) #接受消息的内容
    if len(msg)==0:break  #如果 不加,已连接的客户端突然断开,recv不再阻塞发生死循环
    print '333333333333'
    print msg
    print '333333333333'
    
    
    
    
    BUFSIZE = 10
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#创建套接字
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    s.bind(ip_port)#绑定地址
    s.listen(5)#监听链接
    print('server listening8080...')
    while True: #无限等待连接
        conn,addr = s.accept() #接受客户端连接
        print(conn)
        print(addr)
        print('接到来自%s的链接'%addr[0])
        while True: #通信循环,无限接受客户端信息
            msg = conn.recv(BUFSIZE) #接受消息的内容
            if len(msg)==0:break  #如果 不加,已连接的客户端突然断开,recv不再阻塞发生死循环
            print '333333333333'
            print msg
            print '333333333333'
    		
    		
    指定为10
    
    客户端发送的数据:
    
    s.send('test11111111111111111111111111')
    服务端收到的数据:
    
    接到来自192.168.137.1的链接
    333333333333
    test111111
    333333333333
    333333333333
    1111111111
    333333333333
    333333333333
    1111111111
    333333333333
  • 相关阅读:
    XML
    DAO
    JDBC
    事物、视图、索引、备份和恢复
    用户
    高级查询2
    高级查询1
    数据库设计
    初识MySQL
    古代和现在的区别Hashtable和HashMap
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348569.html
Copyright © 2011-2022 走看看