Private Sub sckServer_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim lOffset As Long ' Store buffer offset sckServer(Index).GetData sData, bytesTotal ' Receive entire chunk first mSocketInfo(Index).sBuffer = mSocketInfo(Index).sBuffer & sGetData lOffset = InStr(aSocketInfo(Index).sBuffer, vbLf) Do While lOffset > 0& ProcessClientCommand Left$(aSocketInfo(Index).sBuffer, lOffset - 1&), Index aSocketInfo(Index).sBuffer = Mid$(aSocketInfo(Index).sBuffer, lOffset + 1&) lOffset = InStr(aSocketInfo(Index).sBuffer, vbLf) Loop sTemp = Split(sData, "::") Call Parse End Sub