-
Читаю пакеты вот таким образом: PackageSize:=TCPClient.IOHandler.ReadInteger(false); TCPClient.IOHandler.ReadBytes(Package,PackageSize);
В итоге у меня первый пакет читается нормально, а по приходу второго внезапно в буффере оказывается и первый пакет и второй.
-
а может он такой и есть.
-
Это первое о чем я подумал. Установил снифер Wireshark. Приходит вполне себе корректный второй пакет. Уже на уровне чтения он почему-то объединяется.
-
Нашел проблему. TCPClient.IOHandler.ReadBytes(Package,PackageSize); не заменяет данные в Package, а дописывает к ним. сделал SetLength(Package,0) перед чтением - все ок заработало.
|