ソケット アプリケーション (最大 5k の同時接続を処理する) で受信したバイトのコレクション型が必要です。
a を使用してみましたList<byte>
が、内部配列が 1 つあり、大量のデータを受け取るため、OutOfMemoryException
s が発生する可能性があります。
だから私はコレクションが必要です、
- データを小さなブロックに保持します。Unrolled Linked Listのように。
IList<T>
各受信操作の後にメッセージの終わりを示す区切り文字を探すため、高速検索 (できれば ) を提供します。
私が今使っているのは ですStream
。MemoryStream
あまり多くのデータを含まない操作には を提供し、大量FileStream
のデータを含む操作には一時ファイルを提供します。
MemoryStream
List<T>
ただし、ファイルをバッファとして使用しないことを好みます。
それで...
どのようなコレクションまたはアプローチをお勧めしますか?