掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Indy9のUDPの送受信がうまくいかない (ID:18927)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Integer がわかっていないようですね。 メモリ上 ・・・ 12 34 56 78 90 AB CD EF ・・・ ← i → i は Integer なので4バイトです i := 1 ・・・ 12 34 01 00 00 00 CD EF ・・・ メモリ上は上位下位が反転して入ります。 i の1バイトを送信すると1が送られます。 理論上間違っていないが、通常1バイトを送るなら i: Integer; の宣言を SendByte: Byte; として data.WriteBuffer(i,1); → data.WriteBuffer(SendByte,1); または data.WriteBuffer(SendByte, SizeOf(Byte)); とします。 受信側です。 メモリ上 ・・・ AA BB 11 22 33 44 55 66 ・・・ ← i → ここで、AData.ReadBuffer(i, 1); が実行されると メモリ上 ・・・ AA BB 01 22 33 44 55 66 ・・・ ↑ i の先頭番地のデータ1バイトが変わる つまり、 i の値は $44332201 となります。 強いていえば、あなたの仕様を損なわないようにするには i := 0; ← 追加してください AData.ReadBuffer(i, 1); お分かり?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.