目前我正在尝试用 C++ 处理 TLS 连接。我已经在套接字中成功编写了 Client Hello,但是我无法从套接字中读取。
// poll until server hello is received
int len = 0;
while (len == 0) {
ioctl(sockfd, FIONREAD, &len);
}
uint8_t server_hello[len];
if (read(sockfd, server_hello, len) < 0) {
throw std::runtime_error("failed to read server hello");
};
// poll until server cert is received
len = 0;
while (len == 0) {
ioctl(sockfd, FIONREAD, &len);
}
uint8_t server_cert[len];
if (read(sockfd, server_cert, len) < 0) {
throw std::runtime_error("failed to read server cert");
};
第一次 server_hello 读取工作正常,但我不知道如何“清除”套接字并等待 server_cert 读取。我找不到太多关于此的信息,也不知道在哪里可以找到这方面的资源。