私はマニュアルページを読み、この使用例を調べました: https://banu.com/blog/2/how-to-use-epoll-a-complete-example-in-c/、しかし私は理解できませんepoll を使用して私がやろうとしていることを行う方法、誰か助けてもらえますか?
基本的に、私は C/ネットワーキングをよりよく学ぶために netcat タイプのユーティリティを書いています。1 つのポートでリッスンして接続できる基本的なサーバー/クライアントを作成しました。ここで、ポート範囲でリッスンするようにサーバーの側面を拡張したいと考えています。
socket()、bind()、listen() を作成するポートごとに for ループを介してこれを行う予定です。
ポート範囲は最大 65k になる可能性があるため、それらをポーリングして、接続要求を受信したときに accept() する必要があります。
poll または epoll を使用して 1 つのポートで複数の接続を処理する典型的な C サーバーのリンクを解除します。これは、数千の潜在的なポートの 1 つの 1 つの接続です。ソケットを epoll し、接続が要求されたときにそれを受け入れてバインドを解除/リッスン/ポーリングを停止する方法を例から完全に理解することはできません。
誰かが私を始めるための説明/コードの例を持っていますか?