1

長い間使用してきた IOCP ベースのサーバーがあります。ここで、これに SSL サポートを追加する必要があります。私はきれいな解決策を見つけるのに苦労しています。他の2つのスレッドで提案された2つのオプションを見つけました-

1)openssl Memory BIOを使用します-しかし、IOCPのマルチスレッドの性質のために発生する問題を説明するIOCPポートで動作する例はネット上で見つかりませんでした。2)sslでBoost ASIOを使用します-これは内部でIOCPを使用すると思います。ただし、接続ごとの状態データを保存する方法を示す例はありません。たとえば、サーバーには、接続されているクライアントごとに状態情報が保存されています。この状態情報は、クライアントを認識し、それに応じてクライアントから送信されたデータを解析するために使用されます。

上記の 2 つの問題の解決策、またはその他の解決策を提案していただければ幸いです。

更新: winsock2 ライブラリに IOCP を実装するために Simple C を使用しています。

よろしくニラドリ

4

1 に答える 1

2

ここで私の答えを参照してください: WinSock で OpenSSL を使用するにはどうすればよいですか?

非同期ソケットで OpenSSL を使用するためのコードを含む記事を書きました。この記事のコードは MFC の非同期ソケットを示していますが、理論は IOCP でも同じです。

私は、IOCP ベースのサーバー フレームワークの一部として利用できる OpenSSL サポートの記事で紹介した設計のバリエーションを使用しました。ここを参照してください: http://www.serverframework.com/products---the-ssltls-using-openssl-option.html

于 2010-12-16T21:37:40.187 に答える