【发布时间】:2012-10-02 23:38:28
【问题描述】:
在 NIO2 上可用的 INTERNET 上的所有源/样本均不支持 TLS/SSL,
java.nio.channels.AsynchronousSocketChannel
java.nio.channels.AsynchronousServerSocketChannel
据我了解,SSLEngine 连接的生命周期与 AsynchronousSocketChannel.connect && AsynchronousServerSocketChanne.accept 不同, TLS/SSL 应该被封装在 AIO 实现中,那么我怎样才能同时使用它们......? 注意:我在 Grizzly 项目中的一个视频中谈到他们已经实现了它, 我查看源代码,但我看到了 AIO,但没有看到 TLS/SSL 集成...
提前致谢!
【问题讨论】:
-
连接的生命周期是一样的:它只是一个连接。然而,由于其他原因,将 SSLEngine 与非阻塞 NIO 集成已经足够困难了,例如当你应该阅读时必须编写,反之亦然,以及如何处理任务:我不不想尝试使用异步 I/O。
-
PS:刚刚注意到我的赏金评论拼写错误,有人知道如何编辑吗?
-
我应该添加到我的评论中,我随后实现了一个使用 SSLEngine 的 AsyncSSLSocketChannel。正如预期的那样,这并不容易。