跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请问 Java nio2(AIO)里面,读数据的话, completeHandler 是什么时候触发的?
未分類
14 5 月 2020

请问 Java nio2(AIO)里面,读数据的话, completeHandler 是什么时候触发的?

请问 Java nio2(AIO)里面,读数据的话, completeHandler 是什么时候触发的?

資深大佬 : Moonkin 1

请问 java nio2 里面,读数据的话,completeHandler 是什么时候触发的?

都说是读完成的时候,那么问题来了,如果是 socket,怎么判断读完成?是读到一个换行符n 来触发一次读完成吗?还是说有什么专门的协议来表示一块数据传输完成?

ps:据我调查,socketChannel 和 Handler 都没法预先知道要读取多少数据。如果是 nio,需要缓存输入数据,直到读到完整的一条,再处理。那 aio 呢?这个 completeHandler 是像 nio 一样随缘触发的吗?

大佬有話說 (3)

  • 資深大佬 : helloSpringBoot

    tcp 是流式协议,需要自己判断数据是不是读取完成了,在这点上 aio 和 nio 是没区别的

    ps. JAVA linux 上 aio 也是基于 nio 实现的,linux 没有支持 aio

  • 資深大佬 : helloSpringBoot

    参考这篇文章,可以看下里面的 AioServer 怎么读的数据: https://juejin.im/post/5d3b05ad6fb9a07ed6581a0a

  • 主 資深大佬 : Moonkin

    @helloSpringBoot 谢谢大佬 了解了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具