何千もの UDP 接続 (約 100,000 セッション) をサポートする必要がある新しいサーバーを設計しています。どちらを使用するかについての意見や提案はありますか?
54789 次
3 に答える
46
答えは、Linux を使用している場合は epoll、FreeBSD または Mac OS X を使用している場合は kqueue、Windows を使用している場合は i/o 完了ポートです。
あなたが(ほぼ確実に)調査したいいくつかの追加事項は次のとおりです。
- 負荷分散技術
- マルチスレッドネットワーキング
- データベースのアーキテクチャ
- 完全なハッシュ テーブル
さらに、TCP とは対照的に、UDP には「接続」がないことに注意することが重要です。また、ネットワークベースのソリューションのデバッグは困難な場合があるため、小規模から始めて大規模にスケールすることも最善の方法です。
于 2010-11-05T21:58:06.123 に答える
18
Linux: epoll
FreeBSD: kqueue
Windows: ??
これを抽象化できる libevent や libev などのラッパー ライブラリがあります。
于 2010-10-28T04:48:44.400 に答える