Предыстория : через винсок передаю строго строки вида "ХХ" & набор символов с кодом в интервале 33-49 & " " В итоге пробел означает конец команды. Ничего умнее не придумал, чтобы в данной задаче решить проблему разбиения пакетов. Так вот код:
- Код: Выделить всё
Private Sub wnsSock_DataArrival(ByVal bytesTotal As Long)
Dim sBufer As String
Dim sCommand As String
Dim sFullBufer As String
Dim nSpacePos As Long
wnsSock.GetData sBufer
sFullBufer = sFullBufer & sBufer
nSpacePos = InStr(1, sFullBufer, " ")
'Static bFlag As Boolean
'If Not bFlag Then Me.Caption = sFullBufer: bFlag = True
Do While nSpacePos > 0
'Static bFlag As Boolean
'If Not bFlag Then Me.Caption = sFullBufer: bFlag = True
sCommand = Left$(sFullBufer, nSpacePos - 1)
sFullBufer = Right$(sFullBufer, Len(sFullBufer) - nSpacePos)
nSpacePos = InStr(1, sFullBufer, " ")
Select Case Left$(sCommand, 2)
Case ТипКоманды:
<CUT>
End Select
Loop
End Sub