質問

最近、より正確に言うと、WindowsプラットフォームでIOCPと呼ばれるものに出くわしました:入出力制御ポート。これは、数千のユーザーを同時に保持する必要がある場合に、サーバーソフトウェアをコーディングする最も効率的な方法であると思われます。 (間違っている場合は修正してください。ただし、ソケットごとのスレッド、ポーリング、非同期コールバック(すべてのコールバックのスレッド)は十分に効率的ではありません。)

この概念を実装するサードパーティ製のライブラリがあるかどうか疑問に思っています。 Win32 apiがCreateIoCompletionPortを提供し、FreeBSDにはkqueueがあり、一般的にlinuxは多少似た動作をする/ dev / epollを使用できることを知っています...私のために?

役に立ちましたか?

解決

boost :: asioを見ましたか? まだこの機能をすべて備えているかどうかはわかりませんが、それが目的の1つだと思います。

他のヒント

これはこのスレッドに対する遅い返信ですが、Linux / UNIXとWindowsの両方で非同期IOをサポートするxプラットフォームライブラリに興味がある人は、 libuv

libuv は、最初はnode.jsの基盤として構築されましたが、非同期IO、ノンブロッキングTCPソケットを含む、多くの低レベルのxプラットフォームの問題に対する強力な抽象化ライブラリ。名前付きパイプ、UDP、タイマー、子プロセスの生成 、高解像度時間、スレッドプールのスケジューリングなど。

libevent は多くの* nix OSで動作し、Windowsでも動作します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top