タイトル : Re: 指定バイトの読込がうまくいかない 投稿日 : 2010/01/23(Sat) 10:02 投稿者 : 魔界の仮面弁士
> 'サーバーから送られたデータを受信する > Dim resBytes(256) As Byte 配列のサイズが中途半端な気がしますが大丈夫ですか? (上記だと、256個の要素ではなく、0〜256までの計257個の要素が生成されます。 > 'データの一部を受信する > resSize = ns.Read(resBytes, 0, resBytes.Length) 変数 ns の正体が分かりませんが、使い方からして、 System.Net.Sockets.NetworkStream クラスでしょうか? > Loop While ns.DataAvailable ループ中には、これ以外のコードは記述していないのでしょうか? > 上記で受信データが64バイトで受信しているときに、 一回のループで、resBytes.Length が 64 だったのでしょうか? > 先頭から24バイト分を受信しようと > resSize = ns.Read(resBytes, 0, 24) 書き込み位置は、先頭からの resBytes(0)〜resBytes(23)の位置になりますが、 読み込む位置は、全64バイト中の先頭からであるとは限らないかと。 > Loop While ns.DataAvailableの条件ではループしてしまうので > 最後の方のバイト数になりますね。解決です。 …? 話をあまり理解できていないのですが、これって後から追記された一文なのでしょうか。 --- 追記: 下記で解決されて、その結果報告で追記された…という事のようですね。 http://bbs.wankuma.com/index.cgi?mode=al2&namber=45995 |