检测https消息的结束

时间:2014-10-03 21:10:48

标签: sockets rest http ssl nonblocking

我正在尝试使用nio套接字& amp;来实现非阻塞SSL连接。的SSLEngine。不成功的消息必须包含足够的数据,以便sslengine可以对其进行解密。我想知道阻塞模式下的普通SSLSocket如何知道https消息已经完全到达了?

是否有任何标志宣布结束https消息/数据包?

由于

1 个答案:

答案 0 :(得分:2)

SSL将数据打包到记录中,每条记录包含开头的大小。因此,SSLengine本身知道它需要多少数据。根据{{​​3}},如果记录未完全读取,则unwrap的调用将返回BUFFER_UNDERFLOW,因此无法解密,在这种情况下您需要从连接中读取更多数据。 / p>