投稿日 | : 2006/09/15(Fri) 20:39 |
投稿者 | : たかはし |
Eメール | : |
URL | : |
タイトル | : winsockでUDPで受信すると文字化けします。 |
VB6で、ゲームをしながらチャットができるプログラムを作製しております。
winsockのUDPを使って通信しようとしているのですが、受信側でGetDataし表示すると受信した文字列が文字化けしています。String型の変数を準備し、受信したデータをそれに格納しています。過去ログや他のサイトで調べてみると受信した全角文字のデータがUnicodeになることがあるらしいので、受信したデータをStrConvのvbFromUnicodeで変換してみたのですが、それでも上手くいきません。何が問題なのでしょうか、よろしくお願いします。
例えば「123456789」と送信すると、「?冂?厂???」となってしまい、「あいうえおらりるれろ藍上柿空家」と送信すると「???????????瓏セ??」となってしまいます。どちらも、StrConvした後です。
以下はその部分のコードです。Winsock1で通信しています。
Private Sub Command1_Click() ’Text2のテキストを全角にして送信します
Text1.Text = "自分の発言:" & Text2.Text & vbCrLf & Text1.Text
Winsock1.SendData StrConv(Text2.Text, vbWide)
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim kimasita As String
Winsock1.GetData kimasita
MsgBox StrConv(kimasita, vbFromUnicode)
End Sub