Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 检测https消息的结尾_Sockets_Rest_Http_Ssl_Nonblocking - Fatal编程技术网

Sockets 检测https消息的结尾

Sockets 检测https消息的结尾,sockets,rest,http,ssl,nonblocking,Sockets,Rest,Http,Ssl,Nonblocking,我正在尝试使用niosockets和SSlEngine实现非阻塞SSL连接。不幸的是,消息必须包含足够的数据,这样才能由sslengine解密。我想知道,一个处于阻塞模式的普通SSLSocket是如何知道https消息已经完全到达的 是否有任何标志宣布https消息/数据包的结束 谢谢SSL将数据打包到记录中,每条记录都包含开头的大小。因此,SSLengine本身就知道它需要多少数据。根据调用unwrap将返回BUFFER\u UNDERFLOW,如果记录未完全读取,因此无法解密,并且在这种情况

我正在尝试使用niosockets和SSlEngine实现非阻塞SSL连接。不幸的是,消息必须包含足够的数据,这样才能由sslengine解密。我想知道,一个处于阻塞模式的普通SSLSocket是如何知道https消息已经完全到达的

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


谢谢

SSL将数据打包到记录中,每条记录都包含开头的大小。因此,SSLengine本身就知道它需要多少数据。根据调用
unwrap
将返回
BUFFER\u UNDERFLOW
,如果记录未完全读取,因此无法解密,并且在这种情况下,您需要从连接读取更多数据。

是否检查了http头以查看是否包含内容长度(数据包的长度)?它不是http而是https。因此,我不能检查头,直到我解密它。但要解密它我需要完整的信息,