Конференция "Сети" » TidTCPClient - копятся входящие пакеты
 
  • NetNoob (29.11.11 17:09) [0]
    Читаю пакеты вот таким образом:
    PackageSize:=TCPClient.IOHandler.ReadInteger(false);
    TCPClient.IOHandler.ReadBytes(Package,PackageSize);

    В итоге у меня первый пакет читается нормально, а по приходу второго внезапно в буффере оказывается и первый пакет и второй.
  • Медвежонок Пятачок © (29.11.11 17:17) [1]
    а может он такой и есть.
  • NetNoob (29.11.11 17:20) [2]
    Это первое о чем я подумал.
    Установил снифер Wireshark.
    Приходит вполне себе корректный второй пакет.
    Уже на уровне чтения он почему-то объединяется.
  • NetNoob (29.11.11 17:22) [3]
    Нашел проблему.
    TCPClient.IOHandler.ReadBytes(Package,PackageSize);
    не заменяет данные в Package, а дописывает к ним.
    сделал SetLength(Package,0) перед чтением - все ок заработало.
 
Конференция "Сети" » TidTCPClient - копятся входящие пакеты
Есть новые Нет новых   [134435   +19][b:0][p:0]