着信NetworkStreamから何バイトものデータをスキップ/ダンプする方法はありますか? Seek
やPosition
はできませんので、他のストリームにコピーしたり、それを読んだり、後でダンプしたりすることしかできないようです。着信NetworkStreamからデータをダンプしますか?
現在ストリームを読み取る方法はReadAsync()
です。
着信NetworkStreamから何バイトものデータをスキップ/ダンプする方法はありますか? Seek
やPosition
はできませんので、他のストリームにコピーしたり、それを読んだり、後でダンプしたりすることしかできないようです。着信NetworkStreamからデータをダンプしますか?
現在ストリームを読み取る方法はReadAsync()
です。
いいえ、すべてのデータをNetworkStream
に読み込む必要があります。データをスキップする必要がある場合は、それを読んで無視することができますが、前に進む前にそれを読む必要があります。これは、NetworkStream
がTCPソケットストリームのデータを抽象化しているためです。また、TCPにはバイトをスキップするものは何もありません。これは、バイナリデータのFirehoseだけです。 FTPやHTTPのようなTCP上のプロトコルは、ファイルやオブジェクト内での位置付けを可能にするコンセプトを実装するかもしれませんが、NetworkStream
はすべてを意識していません。
あなたがシーク可能なストリームを要求するいくつかのコードに渡すことができますので、あなたがSeek
およびまたはPosition
を実装NetworkStream
をラップ独自のStream
クラスを構築することができ抽象シーク機能にストリームの必要がある場合。もちろん、表の下では、バイパスにSeek
またはPosition
を使用したセクションを読んで無視する必要があります。バッファリングしない限り、Seek
またはPosition
を後方に実装することはできません。
プロトコルとエンドポイントが何らかの形でそれをサポートしていない限り、それを移動する唯一の方法は読み取りとダンプです。 – Lloyd