winsock的发送接受数据问题。想把服务器端数组myfile (9,3)中的数据传给客户端receivefile(9,3)。但收到的都是0。哪儿错了?
我是写的代码
发送代码
dim myfile (9,3) as byte
sckserver.SendData myfile
接受:
dim receivefile(9,3)as byte
SckClient.GetData receivefile,vbarray+vbbyte For j = 0 To 9 Step 1
For i = 0 To 3 Step 1
Debug.Print receivefile(j, i);
Next
Next
收到的都是0。数据没有传到吗?请大侠指正!数组到底怎么传输?
拜csdn高人!
我是写的代码
发送代码
dim myfile (9,3) as byte
sckserver.SendData myfile
接受:
dim receivefile(9,3)as byte
SckClient.GetData receivefile,vbarray+vbbyte For j = 0 To 9 Step 1
For i = 0 To 3 Step 1
Debug.Print receivefile(j, i);
Next
Next
收到的都是0。数据没有传到吗?请大侠指正!数组到底怎么传输?
拜csdn高人!
dim myfile (3) as byte
sckserver.SendData myfile
接受:
dim receivefile(3)as byte
SckClient.GetData receivefile,vbarray+vbbyte
For i = 0 To 3 Step 1
Debug.Print receivefile(i);
Next
收到的都是0。数据依然没有传到吗?
错误提示:不支持的变体类型
Option ExplicitPrivate Sub Command1_Click()
With Winsock1
.Connect "127.0.0.1", 1234
End With
End SubPrivate Sub Winsock1_Connect()
Dim b(4) As Byte
b(0) = Asc("H")
b(1) = Asc("e")
b(2) = Asc("l")
b(3) = Asc("l")
b(4) = Asc("o")
Winsock1.SendData b
End Sub接收端的……
Option ExplicitPrivate Sub Form_Load()
With Winsock1
.Bind 1234
.Listen
End With
End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim b() As Byte
ReDim b(bytesTotal - 1) Winsock1.GetData b, vbArray + vbByte
Debug.Print StrConv(b, vbUnicode), bytesTotal
End Sub
to:zhujiechang(小朱)
我要的是接受数组,作用的结果不全也不好分离开。
代码:
服务器端:
Private Sub SockServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim Tkey_temp(3) As Byte
Tkey_temp(0) = 110
Tkey_temp(1) = 25
Tkey_temp(2) = 23
Tkey_temp(3) = 250
SockServer(SockNum).SendData Tkey_temp
Exit Sub客户端:
Private Sub SockClient_DataArrival(ByVal bytesTotal As Long)
Dim cerr
On Error GoTo cerr
Dim b() As Byte
ReDim b(bytesTotal - 1) SockClient.GetData b, vbArray + vbByte
Debug.Print StrConv(b, vbUnicode), bytesTotal
end sub