服务端接收的数据限制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
发布了3776 篇原创文章 · 获赞 113 · 访问量 349万+

猜你喜欢

转载自blog.csdn.net/zhaoyangjian724/article/details/104422656
今日推荐