xie2022228 2010-05-18 14:17
浏览 474
已采纳

nio中从socket读取数据到缓冲区,如果缓冲区太小,多出来的数据会怎么样

如题。会丢吗?不会丢的话,后面的数据是怎么处理的呢

  • 写回答

5条回答 默认 最新

  • yfddht1573 2010-05-19 17:35
    关注

    数据量大时,发送端和接收端都可能分成多个包,但是不用去管它,我们只要知道完成数据的长度就可以

    发送端分多次发送,每次取得实发长度累加,只到达到总长度。

    发送端在onRead事件中处理,当次接收到的包连接到接收缓冲区中,该缓冲区生存期是高于本过程的,当缓冲区的数据长度达到传送的总长度时,认为一次完整的数据传输结束,这时进行后续处理,然后清空缓冲区,等待下一次传输!

    不知道是不是这样!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作