NetworkStreamを用いたデータの受信について
とても部分的なソースで申し訳ないのですが
下記のようなデータを受信するコードを作りました
C#
1 try 2 { 3 // NetWorkStreamを取得. 4 System.Net.Sockets.NetworkStream ns; 5 ns = ap.client.GetStream(); 6 7 byte[] sendBytes = 「送るデータ」 8 ns.Write(sendBytes, 0, sendBytes.Length); 9 10 ap.readbuf = new byte[1024]; 11 ap.data = new System.IO.MemoryStream(); 12 ns.BeginRead(ap.readbuf, 0, ap.readbuf.Length, new AsyncCallback(ReadCallback), ap); 13 } 14 catch 15 { 16 17 }
ネットのコードを参考に作成して
実際にデータの受信を正しく出来ています
この処理はボタンのクリックイベントに記述しているのですが
一度目は正しく受信されていて、受信されたデータのサイズを確認しても
漏れなく受信できていることが確認できました
しかし、もう一度ボタンをクリックすると
全く違うデータが受信?されてしまいます
受信データの内容を詳しく確認をしていないので
関係の無いデータなのかは分からないです
データを送る側のアプリは問題ないことは確認済みです
受信処理に関しても問題ないのではと思っているのですが
NetworkStreamに残っているごみを取り出してきてしまっているのかなと考えています
NetworkStreamの受信データのクリア処理?のようなものがあるのでしょうか
急ぎで質問したため、かなり雑な内容になってしまいましたが
このような現象の対処方法が分かる方、よろしくお願い致します

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/14 00:58
2017/06/14 08:02