AsynchronousSocketChannel

AsynchronousSocketChannel

我正在编写一个程序,需要将加密数据从一台PC发送到另一台PC。我想知道是否可以通过某种方式扩展AsynchronousSocketChannel.write和AsynchronousSocketChannel.read的功能来为我做到这一点,而不是每次都要显式地加密/解密数据然后再使用AsynchronousSocketChannel发送数据。但是,似乎AsynchronousSocketChannel.write是最终方法。有什么办法可以创建自己的AsynchronousSocketChannel,还是违反直觉的?

提前谢谢了。

最佳答案

您可以将其包装在自己的类中:

import java.nio.ByteBuffer;
import java.nio.channels.AsynchronousSocketChannel;
import java.util.concurrent.Future;

public class EncryptedAsynchronousSocketChannel {
    private AsynchronousSocketChannel channel;
    public Future<Integer> read(ByteBuffer dst){
        return channel.read(dst);
    }
    public Future<Integer> write(ByteBuffer src){
        return channel.write(src);
    }
}

08-17 23:31