BinaryReader
に関連付けられたストリームで読み込み可能なバイトがあるかどうかを確認できるメソッドまたはプロパティがあるかどうかは疑問でした(私の場合、NetworkStream私はTCP通信を行っているからです)。 私はdocumentationを確認しましたが、私が見た唯一の方法はPeekChar()
ですが、次のバイト(文字)があるかどうかを確認するだけですので、多くのバイトが読み込まれている場合は、while
ループを作成してカウンタを増やすことができます不幸BinaryReader C# - バイトが残っているかどうかを確認
TCP通信に関して、問題は、TCPの背後にあるアプリケーションプロトコルが私によって定義されていないことです。私はそれがどのように動作するかを理解しようとしています!もちろん、読んでいくバイトについての手がかりを与える「長さフィールド」がありますが、それがどういう仕組みかどうかを確認していることを知っています。この質問が私の心に届きました。
TCPはストリーミングプロトコルです...どういう意味なのかわかりませんが、 'length'は' streaming'の定義の反対です。 'BinaryReader'はプロトコルストリームのラッパーです。 – atlaste
Mmm ...申し訳ありませんが、私はあなたの意見を理解していません! – Biurrun
現在利用可能なバイトがない場合はどうしますか?それはもっと来ていないということを意味するものではありません... –