Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim a() As Byte
Winsock1.GetData a, vbArray Or vbByte
Text_Rec.Text = a
End Sub
這是我的一段接收代碼,發送的是十六進制資料,接收也要十六進制的形式,可是我接受到的是亂碼,不知道怎么回事,求大神幫忙,在線等待~
亂碼出現這樣子的 ?????
?漄???
???ú
這是我發送資料后回傳的亂碼
uj5u.com熱心網友回復:
ReDim iBuf(bytesTotal - 1)
tcpRTB.GetData iBuf
' log每個收到的位元組
' i = 0
' lnx = "RTB-->BYTE:" + Right("0000000" + Hex(i), 8) + "-"
' For i = 0 To bytesTotal - 1
' lnx = lnx + " " + Right("0" + Hex(iBuf(i)), 2)
' If i Mod 16 = 15 Then
' LogRX lnx
' lnx = "RTB-->BYTE:" + Right("0000000" + Hex(i + 1), 8) + "-"
' End If
' Next
' i = bytesTotal - 1
' If i Mod 16 <> 15 Then
' LogRX lnx
' End If
uj5u.com熱心網友回復:
發送的是雙位元組吧?strconv轉換下
uj5u.com熱心網友回復:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim a() As Byte, i As Long, strTmp As String
Winsock1.GetData a, vbArray Or vbByte
For i = 0 To bytesTotal - 1
strTmp = strTmp & IIf(i, " ", "") & Right("00" & Hex(a(i)), 2)
Next i
Text_Rec.Text = strTmp
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/121746.html
標籤:控件
