VB的TCP数据在接收时,如果客户端发过来的数据差不多在同一时刻怎么办啊?我现在就遇到这样的问题,导致接收的数据老是错误。由于我的服务端只是被动接收数据,没办法控制客户端发送数据的时间,请教高人求处理,谢谢。
如果在同时只处理任何一个客户端的数据都没有问题。
Private Sub TcpServer_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim i As Integer
'Dim j As Integer
Dim RData As String
Dim Recv() As Byte
TcpServer(index).GetData Recv(), vbByte
If UBound(Recv()) > 0 Then
For i = 0 To UBound(Recv())
RData = RData & CStr(add_zero(Hex(Recv(i)), 2))
Next i
End If
If Len(RData) < 4 Then Exit Sub
If Left(RData, 6) = "FA0101" And TcpServer(index).Tag <> "" Then
'数据处理
RData = Right(RData, Len(RData) - 6)
Text2.Text = RData
Select Case Mid(TcpServer(index).Tag, 13, 2)
Case "DS"
Call Data_do(RData, "DS", "10", index)
Case "CO"
Call Data_do(RData, "CO", "01", index)
Case "GU"
End Select
End If
End Sub
或者使用多线程来处理这个的话该怎么实现?