我正在制作一个需要将加密数据从一台PC发送到另一台PC的程序。而不是每次都明确地必须加密/解密数据然后通过使用AsynchronousSocketChannel发送它,我想知道我是否可以以某种方式扩展AsynchronousSocketChannel.write和AsynchronousSocketChannel.read的功能来为我做这件事。但是,似乎AsynchronousSocketChannel.write是一个最终方法。有没有办法制作我自己的AsynchronousSocketChannel,还是反直觉?
非常感谢提前。
答案 0 :(得分:1)
你可以将它包装在你自己的班级中:
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);
}
}