0

何年も前に書いた古いチャット アプリケーションに SSL サポートを追加したいと考えています。私は OpenSSL と LibreSSL について多くのことを読み、新しい libtls API を試すことにしました。開発者はこれに関して本当に素晴らしい仕事をしたと思います。非常に使いやすいことがわかりました。必要に応じて既存のコードをほとんど変更する必要はありません。しかし、ここで私が今理解しなければならないことが1つあります。

ある日、select() を使用してソケットを監視し、recv() を使用してデータを読み取っていました。これらの関数は両方ともファイル記述子で動作するため、これは簡単でした。

現在、libtls では、関数 tls_read() は最初の引数として tls コンテキストを必要とします。つまり、記述子を読み取る準備ができるたびに、クライアントのリストを検索して適切な tls コンテキストを取得する必要があります。これはそれほど難しいことではありませんが、誰かがより良い解決策を知っているのではないでしょうか? すべてのコメントとコード サンプルに感謝します。

4

1 に答える 1