关于openssl库中SSL_read函数阻塞问题

sinat_30784251 sinat_30784251 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在研究模拟登录问题,在取服务器返回的数据的时候出现SSL_read阻塞,代码如下

while(TRUE)
{
FD_SET fds;
FD_ZERO(&fds);
FD_SET(socketClient, &fds);

char recvData[1000] = {0};
int nRecvLen;


int nErr = SSL_read(ssl, recvData, sizeof(recvData));
if (nErr <= 0)
{
break;
}
int unicodeLen = MultiByteToWideChar(CP_UTF8, 0, recvData, -1, NULL, 0);
WCHAR *pUnicode = new WCHAR[unicodeLen + 1];
memset(pUnicode, 0, (unicodeLen + 1)*sizeof(wchar_t));

MultiByteToWideChar(CP_UTF8, 0, recvData, -1, pUnicode, unicodeLen);
CString cs(pUnicode);
delete[]pUnicode;
pUnicode = NULL;
//MessageBox(NULL,cs,"",MB_OK);
cstrRecvData += cs;
}

读完数据后会再一次调用SSL_read,按理来说此时nErr应该返回0,可是SSL_read函数并未返回,而是一直阻塞,请问这是什么原因呢?
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
sinat_30784251
网络编程 18,356 成员 64,161 内容