Java 7 异步 SecureSocket?

标签 java ssl asynchronous io

Java 7 附带了异步 I/O。这里有人知道我是否可以使用它对 SecureSocket 进行异步调用吗?

改写:如果我正在使用 sslContext.getSocketFactory().createSocket("127.0.0.1", 42),则使用 socket.getOutputStream()socket.getInputStream() 以阻塞方式通信;我需要进行哪些更改才能访问异步函数,从而允许我重新编写代码以异步工作?

最佳答案

具有非阻塞 I/O 的 Java 中的 SSL/TLS 在 Java 7 中并不是新的,而是在 Java SE 5 中引入的。这可以使用 SSLEngine 来完成。而不是套接字。

SSLEngine 是出了名的难用。原则上,您可以使用 Channels 在 channel 和 InputStream/OutputStream 之间进行转换类,但在使用 SSLEngine 本身方面还有很多工作要做。这里有一些提示:

关于Java 7 异步 SecureSocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15115076/

相关文章:

node.js - Node.js 中的数据库查询分析

javascript - 使用此 javascript 获取无限调用堆栈

java - libgdx gdx-setup.jar 构建失败

ssl - OpenAS2 Server SSL配置,在Windows上配置和应用证书

javax.net.ssl.SSLPeerUnverifiedException : Hostname not verified:

ssl - SSL 应用程序数据是否已压缩?

javascript - 模拟并行行为

java - random() 中的唯一值

java - 在 git 中移动文件时什么时候提交? (Jgit)

java - JAXB XJC 代码生成 - Marshaller 生成的 xml 中缺少 "schemaLocation"