Jon Skeet がその他のutils libの一部として書いたEndianBinaryReader
andを使用しようとしています。それは私がそれを作った2つの用途に最適です.EndianBinaryWriter
ネットワーク ストリーム ( TCPClient
) からの最初の読み取りでは、入ってくるデータをループで読み取ります。単一のデータを作成してEndianBinaryReader
、アプリケーションのシャットダウン時に破棄することができます。EndianBinaryReader
を渡すことでを構築TCPClient.GetStream
します。
UdpClient から読み取るときに同じことを実行しようとしていますが、接続が少ないため、これにはストリームがありません。だから私はそのようにデータを取得します
byte[] data = udpClientSnapShot.Receive(ref endpoint);
このデータをメモリストリームに入れることができます
var memoryStream = new MemoryStream(data);
次に、EndianBinaryReader
var endianbinaryReader = new EndianBinaryReader(
new BigEndianBitConverter(), memoryStream,Encoding.ASCII);
ただし、これは、読み取りを行うたびに新しいエンディアン リーダーを作成する必要があることを意味します。udpクライアントからのデータで入力ストリームを更新し続けることができる単一のストリームを作成できる方法はありますか?