J'ai donc un TClientSocket qui doit recevoir plus de 10 Ko de données dans un événement OnRead. Mais lorsque l'événement est déclenché, il ne reçoit que 8 Ko de données, puis l'événement se déclenche à nouveau avec le reste des données.Pourquoi l'événement TClientSocket.OnRead se déclenche-t-il deux fois pour un seul serveur?
Pourquoi cela se produit-il?
C'est la raison pour laquelle il y a des clients bloquants qui gèrent cela pour vous, comme Indy ou Synapse - si le client attend 10kb, il peut lire 10 en un seul appel. La bibliothèque mettra les pièces ensemble. (Mais cela peut bloquer, donc cela fonctionne mieux dans un fil). – mjn