VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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


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

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -