首页 > 其他 > 详细

网络编程.iocp

时间:2019-12-12 18:08:27      阅读:74      评论:0      收藏:0      [点我收藏+]

1、(20191212)查到的一些资料:java从 JDK7开始 引入AOI(即 NIO2)。然后 实现 IOCP使用的是 AsynchronousChannelGroup、AsynchronousServerSocketChannel相关的内容。

  ZC:据说 AsynchronousChannelGroup 在Windows下使用的是 IOCP,在 Linux下使用的还是 NIO那一套 只是在NIO上又套了一层 假装AIO。

  ZC:查到 Netty至今使用的 还是 NIO(具体原因,几点我记住的是:A、异步IO和Netty原本的架构不配套 改成AIO那一套的话 会4不像;B、不注重Windows上的使用;... ...)

 1.1、测试了一下,貌似 JDK 8u202 上的也是阉割版的IOCP?

  PS:<<Windows网络与通信程序设计>>上C++版的IOCP 可以投递多个accept操作,然后 一个socket可以投递多个接收操作(查官网 WSARecv 做重叠IO操作 貌似就可以对同一个socket投递多个接收缓冲)

  用 java的AsynchronousChannelGroup 简单测试了一下,accept操作 只能投递一个,接收操作 也只能投递一个...

    具体报错 如下:

 

  https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadPendingException.html?is-external=true

2、

3、

4、

5、

 

网络编程.iocp

原文:https://www.cnblogs.com/javaskill/p/12030117.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!