タイトル | : chr(&H82)をUDPで送ると&H00になる(Winsock) |
記事No | : 15637 |
投稿日 | : 2013/02/09(Sat) 00:02 |
投稿者 | : ぷー |
はじめまして。知恵をお貸しください。 下のような感じでソフトを組んでUDPでコマンドを送っています。 コマンドの実行状態がおかしかったので、Wiresharkで送信パケット?を調べると Chr(&H82)の部分だけ「00」となって送信されています。
Q1.どうすれば&H82の部分を正常に送信できるようになるのでしょうか・・・ Q2.現在送信文字列(result)をforで回していますが、 他に何かスマートな方法は無いでしょうか?
環境:VB6,WindowsXP(SP2),
Private sub cmd_Click() dim cmnd(20) as string dim result as string dim iCount as integer
'ポートオープン With Winsock .close .Protocol = sckUDPProtocol .RemoteHost = "192.168.1.2" .RemotePort = 9600 .Bind 10000 End with
'コマンド準備 cmnd(0) = chr(&H80) cmnd(1) = chr(&H00) cmnd(2) = chr(&H02) cmnd(3) = chr(&H00) cmnd(4) = chr(&H32) cmnd(5) = chr(&H82) '←これだけ化ける for iCount = 0 to 5 result = cmnd(iCount) & result next
Winsock.senddata result 'コマンド送信
end sub
実際はcmnd(x)の部分が長々と続くのですが…、 これを実行すると「80 00 02 00 32 82」と送信して欲しい所が 「80 00 02 00 32 00」と送信されています。
|