我一直在使用Java 7中的NIO2,我假设AsynchronousFileChannel
有一个transferTo
方法,就像它的同步FileChannel
兄弟一样。
我希望在本地文件和打开的TCP套接字之间执行零拷贝传输。我尝试简单地创建一个FileChannel
并使用我的transferTo
作为最后一个arg调用AsynchronousSocketChannel
,但是看到异步套接字版本不是WritableByteChannel
,Java不会有它。
有了这个选项,有没有人知道一个变通方法或外部库,它允许我将字节管道传输到AsynchronousSocketChannel
利用DMA(并暗示在用户空间中不使用缓冲区)?< / p>
答案 0 :(得分:1)
transferTo()不是异步操作。因此,在异步通道上执行它是没有意义的。所以没有提供。