1、發送端
send
SendBuf 發送緩衝區(在各種操作系統下面緩衝區大小存在差異)
2、
網絡傳輸層
數據流
3、接收端
RecvBuf 接收緩衝區
select recv
DataHeader
DataBody
接收端沒有及時讀取緩衝區數據,會導致:
緩衝區溢出/無法發送/網絡阻塞
解決方法:
接收端緩衝區能讀取的數據儘量讀取出來,防止接收端緩衝區溢出。這樣可能會發生粘包
1、發送端
send
SendBuf 發送緩衝區(在各種操作系統下面緩衝區大小存在差異)
2、
網絡傳輸層
數據流
3、接收端
RecvBuf 接收緩衝區
select recv
DataHeader
DataBody
接收端沒有及時讀取緩衝區數據,會導致:
緩衝區溢出/無法發送/網絡阻塞
解決方法:
接收端緩衝區能讀取的數據儘量讀取出來,防止接收端緩衝區溢出。這樣可能會發生粘包
def ADD(a): print(3,a,hex(id(a))) a.remove(2) print(3,a,hex(id(a))) a=a.append(10)