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
  • 相关阅读:
    爬虫--urllib,requests模块
    ADO.NET实用经验汇总
    MVC框架的优点-老外的原文翻译
    ASP.NET MVC 3: Razor的@:和语法
    html做表格只显示表格的外边框
    ASP.NET 页生命周期概述
    Asp.Net母版页元素ID不一致的体现
    Asp.Net套用母版页后元素ID不一致之个人总结
    ASP.NET 4.0配置文件中的ClientIDMode属性
    Asp.Net母版页和内容页运行机制
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348569.html
Copyright © 2011-2022 走看看