掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB2005⇒VB6.0にソケット通信するには? (ID:139043)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
現在テスト的にVB2005(クライアント)⇒VB6.0(サーバ)のソケット通信が出来るか勉強しています。 クライアントからサーバへバイナリーデータを送信しているつもりなのですが、バイナリーデータが上手く受信してくれません。 以下に書いてあるコードを省略して張ります。 VB6.0 (Winsock使用) Private Sub Winsock_ConnectionRequest(ByVal requestID As Long) Winsock1.Accept requestID End Sub Private Sub Winsock_DataArrival(ByVal bytesTotal As Long) Dim strBuf As String Winsock1.GetData strBuf Text1.Text = "クライアント「" & strBuf & "」を受信" Winsock1.SendData StrConv(strBuf, vbWide) End Sub VB2005 Socketクラス使用 Dim bytReceiveBuffer(255) As Byte Dim bytBuff As Byte() Dim intDataLength As Integer Dim strReceivedData As String bytBuff(0)=1 bytBuff(1)=1 bytBuff(2)=1 objClient = New System.Net.Sockets.TcpClient With objClient Try objClient.Connect("localhost", intPortNo) objNetStream = .GetStream With objNetStream .Write(bytBuff, 0, bytBuff.Length) Do If .DataAvailable Then intDataLength = .Read(bytReceiveBuffer, 0, bytReceiveBuffer.Length) strReceivedData &= System.Text.Encoding.Default.GetString(bytReceiveBuffer).Substring(0, intDataLength) ElseIf Not strReceivedData Is Nothing Then TextBox2.Text = "サーバから「" & strReceivedData & " 」を受信" Exit Do End If Loop End With Catch Ex As Exception MsgBox(Ex.Message) End Try .Close() End With この時、送信されるところまでデータが装着されていることは確認できているのですが、VBではサイズのみが送られ、内部データが送られていません。 StrbufをString『…』という結果 StrbufをByte配列 (0,0,0) という結果になりました。私の不出来な頭ではこれ以上進めそうにありません。 どこがおかしいのか教えていただければ幸いです。 どうかよろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.