我一直在使用Java 7中的NIO2进行测试,我有点假设AsynchronousFileChannel
将具有transferTo
方法,例如其同步FileChannel
同级。
我正在寻找在本地文件和打开的TCP套接字之间执行零拷贝传输的方法。我试图简单地创建一个FileChannel
并以我的transferTo
作为最后一个arg调用AsynchronousSocketChannel
,但是由于异步套接字版本不是WritableByteChannel
,因此Java不会使用它。
排除了该选项后,是否有人知道一种解决方法或外部库,该解决方法或外部库将允许我利用DMA(并暗示在用户空间中不使用缓冲区)将字节通过管道传输到AsynchronousSocketChannel
?
最佳答案
transferTo()不是异步操作。因此,在异步通道上执行它是没有意义的。因此未提供。
关于java - AsynchronousFileChannel是否具有与transferTo等效的功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9893427/