android socket 丢包,socket timeout exception和常见网络丢包情况

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

今天参加了一场内部的网络方面的分享

这是现场记下和整理的笔记

socket timeout exception出现一般有两种情况

一、超时时间过短慢查询、负载高等

二、网络连接丢包TCP重试机制:20ms重传,指数递增。

数据库传输路径

网卡–>驱动–>硬件缓存–》内核

网卡

网卡在内存中分配一个缓冲区:sk_buffer 如果无法及时写到sk_buffer ,会产生丢包 ()

写入SK_BUFFER后,网卡立即发起一个CPU硬件中断

驱动

CPU接受到后,触发网卡驱动的软中断程序,消费SK_BUFFER上的数据,交给内核协议处理

硬件缓存

默认将sk_buffer队列数据写入到CPU队列,如果满了也会丢弃

内核

数据我进到IP层后

因为窗口可调整不会丢包,但TCP握手还是会丢包

client发送sync

SERVER在收到后 SYNC_QUEUE半连接队列,然后返回syn+ack

client 收到后 发送ack

server 收到后写入accept_queue 全连接队列

server收到client的syn后,把

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值