隨異步I/O提供的Java 7。有人在這裏知道,如果我可以使用它來異步調用SecureSocket
?Java 7 Async SecureSocket?
改編:如果我使用sslContext.getSocketFactory().createSocket("127.0.0.1", 42)
,則使用socket.getOutputStream()
和socket.getInputStream()
以阻塞方式進行通信;我需要做些什麼改變來訪問異步函數,這將允許我重寫我的代碼以異步工作?
隨異步I/O提供的Java 7。有人在這裏知道,如果我可以使用它來異步調用SecureSocket
?Java 7 Async SecureSocket?
改編:如果我使用sslContext.getSocketFactory().createSocket("127.0.0.1", 42)
,則使用socket.getOutputStream()
和socket.getInputStream()
以阻塞方式進行通信;我需要做些什麼改變來訪問異步函數,這將允許我重寫我的代碼以異步工作?
異步IO(Java NIO的一部分)不使用流,而是使用流,而是使用通道,緩衝區和選擇器。儘管如此,你仍然可以連接到安全的服務器。儘管你當前的代碼會有很多需要的改變,所以你可能不想更新到Asynch IO,除非你有很好的理由。
我推薦this tutorial作爲起點。
我看到異步I/O比非阻塞I/O要好。查看對[此評論]的回覆(http://stackoverflow.com/questions/592303/asynchronous-io-in-java#comment12606745_592592)。它並沒有好得多,但它應該會更好,並且它只能在Java 7中引入。 – 2013-03-01 01:42:39
事實上,即使使用NIO2,也必須使用通道和SSLEngine。我不知道,額外的複雜性是否值得提高性能。有一個[J.F.Arcand(灰熊項目)](parleys.com/d/318)的談話,但它似乎沒有談論SSL。 – Bruno 2013-03-01 10:15:38