Hola yo estoy agregando una constante para separa cada envio del for
WinSock32.SendData it, "5" & Delimiter & Text1.Text & Delimiter & Text2.Text & END_DATA
y despues para la parte del que recibe uso esto
Public Sub Socket_DataArrival(id As Long, IP As String, Puerto As String, Data As String)
On Error GoTo ErrHaddle
Dim lRet1 As Long
Dim lRet2 As Long
Dim sCommand As String
Dim sBuf As String
Dim vData() As String
m_Data = m_Data & Data
lRet1 = InStr(m_Data, END_DATA)
If lRet1 Then
sBuf = Left$(m_Data, lRet1 - 1)
m_Data = Mid$(m_Data, lRet1 + Len(END_DATA))
lRet2 = InStr(sBuf, Delimiter)
sCommand = Left$(sBuf, lRet2 - 1)
sBuf = Mid$(sBuf, lRet2 + 1)
Select Case sCommand
Case 0
Case 1
Case 2
End Select
If Len(m_Data) Then
If InStr(m_Data, END_DATA) Then Call Me.Socket_DataArrival(id, IP, Puerto, vbNullString)
End If
End If
ErrHaddle:
End Sub
despues segun el sCommand haces un Split(sBuf , Delimiter ) y obtenes los datos separados.