SSL_connect失败返回-1的一种情况解决办法
2017-07-02 22:01
991 查看
SSL_connect返回-1的一种原因是因为socket设置成了非阻塞模式,应设置为阻塞模式。
SSL_library_init();
ERR_load_BIO_strings();
SSL_load_error_strings();
OpenSSL_add_all_algorithms();
SetMMOSocketOption(MMO_SOCKOPT_NONBLOCK,0);
m_pSSLCtx =
SSL_CTX_new( SSLv23_client_method() );
m_pSSL =
SSL_new(m_pSSLCtx);
==========================================
SetMMOSocketOption(MMO_SOCKOPT_NONBLOCK,0);
「
#ifdef WIN32
result = ioctlsocket (m_iSocket, FIONBIO, (u_long*)&value);
#else
//ioctl(m_socket, FIONBIO, &result);
int flag =
fcntl(m_iSocket,
F_GETFL,0);
if (flag <
0)
{
result = -1;
break;
}
else
{
if (value ==
1)
{
flag |= O_NONBLOCK;
result = fcntl (m_iSocket,
F_SETFL, flag);
}
else
{
flag &= ~O_NONBLOCK;
result = fcntl (m_iSocket,
F_SETFL, flag);
}
}
#endif
」
SSL_library_init();
ERR_load_BIO_strings();
SSL_load_error_strings();
OpenSSL_add_all_algorithms();
SetMMOSocketOption(MMO_SOCKOPT_NONBLOCK,0);
m_pSSLCtx =
SSL_CTX_new( SSLv23_client_method() );
m_pSSL =
SSL_new(m_pSSLCtx);
==========================================
SetMMOSocketOption(MMO_SOCKOPT_NONBLOCK,0);
「
#ifdef WIN32
result = ioctlsocket (m_iSocket, FIONBIO, (u_long*)&value);
#else
//ioctl(m_socket, FIONBIO, &result);
int flag =
fcntl(m_iSocket,
F_GETFL,0);
if (flag <
0)
{
result = -1;
break;
}
else
{
if (value ==
1)
{
flag |= O_NONBLOCK;
result = fcntl (m_iSocket,
F_SETFL, flag);
}
else
{
flag &= ~O_NONBLOCK;
result = fcntl (m_iSocket,
F_SETFL, flag);
}
}
#endif
」
相关文章推荐
- 关于Win7系统下使用capDriverConnect()连接失败的解决办法
- 在xp下加载正常的dll,在win7下loadlibrary失败,返回错误值998(ERROR_NOACCESS)的解决办法
- 更新SDK失败解决办法(Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml)
- ffmpeg avformat_open_input返回失败的解决办法
- 关于SQL2005安装失败的一种可行性解决办法
- error:14090086 SSL routines:SSL3_GET_SERVER_CERTIFICATE错误的一种解决办法
- asp.net 关于提示“当前上下文中不存在名称"XXX"”的一种情况的解决办法
- win7 office2010不能双面打印的一种情况及解决办法
- RMAN备份时报“ORA-19504: failed to create file”和“ORA-27038: created file already exists”的一种情况和解决办法
- 关于创建COM组件时 返回 0x80040154 导致失败的一种情况
- android远程adb调试(adb connect)失败时解决办法
- 关于Win7系统下使用capDriverConnect()连接失败的解决办法
- ArcGIS 10.1 for Server 数据注册失败的一种可能原因及解决办法
- adb connect 失败时(unable to connect to)解决办法
- 关于无法访问LocalHost的一种另类情况的解决办法
- SQL安装时出错,提示:安装程序配置服务器失败 参考服务器错误日志。针对其中一种情况的解决方法!
- 关于Win7系统下使用capDriverConnect()连接失败的解决办法
- ffmpeg avformat_open_input返回失败的解决办法
- [解决办法]Apache服务启动失败:以一种访问权限不允许的方式做了一个访问套接字的尝试
- 使用git clone出现SSL routines:SSL3_GET_SERVER_CERTIFICATE错误的一种解决办法