我遇到了发生此异常的情况

    SSLEngineResult result = sslEngine.wrap(b, engineToSocketData);
    if(b.hasRemaining())
        throw new RuntimeException(id+"Bug, should read all my data every time");


我只看到它发生一次,并且不确定如何重现它,但是为什么Java的SSLEngine不能从上述代码中的ByteBuffer b中读取所有数据?我查看了SSLEngine和SSLEngineImpl的反编译代码,但没有发现任何明显的地方会发生这种情况。有任何想法吗?

谢谢,
院长

最佳答案

没关系,愚蠢的问题,因为结果具有可以获取的状态,可以返回缓冲区上溢,下溢等。

10-08 02:02