tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。