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

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

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

  • 写回答

5条回答

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

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

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

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

    不知道是不是这样!

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

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?