1

N 個のファイル記述子のいずれかで (つまり、N 個のソケットから) 受信したデータが、単一のファイル記述子で呼び出し元の API に転送され、実際には別のファイル記述子から来ている可能性がありますか? 書き込みを同様に抽象化することも可能ですか (ただし、正しい N 番目のファイル記述子に戻ります)?

4

1 に答える 1

3

という単語をタグ付けして使用しているためsocket、データはネットワーク パス経由で送信され、実際には同じソケット経由で複数のソースを読み取りたいと考えています。

TCP/IP ソケットを使用している場合は、複数のソースがデータを送信できるローカル ポートをリッスンするUDPソケットを使用したスキームが既に存在します。

このようなTCPソケットを使用することはできませんがselect、すべての標準実装で API を使用できるため、ソースごとに 1 つずつ、複数の TCP リスニング ソケットを開き、すべてを選択できます。ここでソースを「隠す」ことはできません。

抽象化が必要な場合は、この複数の通信エンドポイントを管理し、 IPCを介してプライマリ アプリケーションと通信する小さなアプリケーションを作成することをお勧めします。この小さなアプリケーションのエンドポイントに対応する短いヘッダーを実装できます。プライマリ アプリケーションは、1 つの通信ポイントを介してすべてを認識します。

また、書き込みをうまく抽象化するという問題も解決します。

于 2009-08-05T04:49:38.007 に答える