0

興味深いことに、2004 年の古いスライドではなく、これに関する議論を見つけることができません。

IMHO、現在のepoll()使用スキームは、呼び出しのようなものを求めていepoll_ctlv()ます。この呼び出しは、一般的な HTTP Web サーバーでは意味がありません、同じデータを一度に複数のクライアントに送信するゲーム サーバーでは意味があります。epoll_ctl()すでに存在するという事実を考えると、これを実装するのは難しくないようです。この機能がない理由はありますか? たぶん、最適化ウィンドウはありませんか?

4

1 に答える 1

0

通常、クライアントが接続および切断するときに epoll セットからソケットを追加および削除するためにのみ使用epoll_ctl()しますが、これはあまり頻繁には発生しません。

同じデータを複数のソケットに送信するには、ファイル記述子のベクトルを取るsend()(または) のバージョンが必要です。これwrite()が実装されていない理由は、おそらく、十分な関心を持っている人がまだ実装していないためです (もちろん、多くの微妙な問題があります - 各宛先ファイル記述子が異なるバイト数しか正常に書き込めない場合はどうなるでしょうか) )。

于 2011-03-20T08:30:54.070 に答える