Итак, у меня есть TClientSocket, который должен получать более 10 Кбайт данных в одном событии OnRead. Но когда событие запускается, оно получает только 8 Кбайт данных, затем событие снова срабатывает с остальными данными.Почему событие TClientSocket.OnRead срабатывает два раза для отправки одного сервера
Почему это происходит?
Именно поэтому блокируются клиенты, которые обрабатывают это для вас, например, Indy или Synapse - если клиент ожидает 10kb, он может читать 10 за один вызов. Библиотека объединит части. (Но это может блокировать, поэтому лучше всего работает в потоке). – mjn