您做错了。当您需要获取数据时,您应该:
- 从您的应用接收缓冲区中获取。
- 如果那是空的,请尝试
unwrap().
- 如果那给您带来缓冲区下溢,请阅读该通道。
同样,当您需要放置数据时,您应该:
- 放入您的应用程序发送缓冲区。
- 如果能解决,
wrap().
- 如果那给您缓冲区溢出,请写。
或者在需要冲洗时执行所有 *** 作。
您的主要接口应该与引擎一起使用,并且仅与通道有关,因为引擎告诉您有关缓冲区下溢和上溢的信息。
同样,您必须让引擎决定握手(NEED_WRAP / NEED_UNWRAP),而不是尝试决定握手。
这
SSLEngine是一件非常困难的事情。许多人尝试过:很少成功。要获得成功的成功,那就是商业产品的基础,请在此处参阅
SSLEngineManager我的书《
Java基础网络》 (Springer
2006)源代码中的类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)