简约而不简单的分布式通信基石( 二 )
文章插图
基于tcp的socket在内核中都有一个发送缓冲区和接收缓冲区 , tcp的双工工作模式以及tcp的滑动窗口就是依赖于这两个独立的buffer以及buffer的数据填充状态 。 接收缓冲区把数据缓存入内核之中 , 如果对应的应用一直没有调用socket的read方法进行数据读取 , 则此数据会一直被缓存在接收缓冲区中 , 如果接收缓冲区满了 , 便会通知对方socket , 以调整对方socket的发送窗口大小 , 这就是滑动窗口的实现 。 如果对方仍然持续发送数据 , 接收方在接收缓冲区没有被读取的情况下将丢弃后到的数据 , 这就是tcp的流量控制 。 对于udp来说 , 它没有真正的发送缓冲区 , 只要有数据就会发送 , 无论对方能否正常正确接收 , 这也是udp丢包的原因之一 , 但是udp的socket 和tcp的socket一样都会有接收缓冲区 , 而且行为也一样 。
作者:菜菜
出处:
- 将要发布|高通下一代处理器不叫骁龙875,而是叫骁龙888
- 预计节省|关于减塑环保必胜客做了件大事 而且还做得挺漂亮
- 关闭|虾米音乐的关闭,再次应证了互联网下竞争的规则,小而精很难生存
- 产品|秦朔谈物联网中央空调:并非是产品,而是新品类
- 三星|高端“机皇”洗牌,为何三星会落伍,而华为却能叫板iPhone?
- 卷轴屏概念机|未量产一律按PPT手机处理!盘点那些华而不实的概念机
- 人工智能|人工智能只会“优化”,而人类可以“进化”
- 合作|外交部谈澜湄水资源合作信息共享平台网站开通:合作因水而生
- 营销|商家营销不可“任性”而为
- 华为|特朗普做梦都没料到,等来的不是美国新成果,而是中国的大好消息