7986


SSL_writeやSSL_readをノンブロッキングで処理したいです。(目的が達成できればBIOでもなんでも可)

スレッドではなく、select()のような関数を使って通知を受けたいと考えています。  
具体的な方法を教えていただけると助かります。


CC BY-SA 3.0
2015-03-16T06:37:29.887
7970
2015-03-16T14:01:54.647
3496
question
c++ c http openssl 非同期
C++でOpenSSLで非同期通信(ノンブロッキング)を行う方法


C++だと勝手が違うかもしれませんが、Cなら普通に SSL_set_fd() に渡すファイルディスクリプタを、 ioctl() か fcntl() で
ノンブロッキングに設定するだけです。

[code]

    // fd = accept(soc, null, null);
    
    int opt = 1;
    ioctl(fd, FIONBIO, &opt);
    
    // SSL_set_fd(ssl, fd);
    // SSL_accept(ssl);
    
[/code]


CC BY-SA 3.0
2015-03-16T14:01:54.647
7986
2015-03-16T14:01:54.647
1024
7970
answer