SSL_accept在非阻塞套接字流上失败

时间:2016-01-25 06:26:39

标签: c++ openssl winsock

猜猜,我有一个简单的客户端 - 服务器应用程序。 启用非阻塞模式以实现手动连接超时。

SSL_accept始终返回-1。 SSL_get_errorERR_get_string返回的错误字符串为:

    error:00000001:lib(0):func(0):reason(1)

更新 可能是关于SSL api的使用。 任何人都可以澄清,正确的行动顺序是什么? 这就是我的工作:

对于客户:

  1. 创建套接字(::socket
  2. 切换到非阻止模式(::ioctlsocket
  3. 连接到服务器(::connect
  4. 等待写操作完成(::select
  5. 初始化SSL套接字;开始握手(::SSL_connect
  6. 循环处理SSL_ERROR_WANT_READSSL_ERROR_WANT_READ::select
  7. 对于服务器:

    1. 创建套接字(::socket
    2. ::bind
    3. ::listen
    4. 切换到非阻止模式(::ioctlsocket
    5. 等待接受新连接(::select
    6. 接受客户(::accept
    7. 初始化SSL套接字;开始握手(::SSL_accept
    8. 循环处理SSL_ERROR_WANT_READSSL_ERROR_WANT_READ::select

0 个答案:

没有答案