Am Sonntag 08 Oktober 2006 23:28 schrieb [IDC]Dragon:
For example, the app tries to write 25017 bytes to the socket, but the socket only allows 11680 bytes at a time, and the TCP stack fragments this in 8 packets of 1460 bytes, presumably because it only has 8 buffers reserved. So far so good.
Not sure if I understand what the app is doing, but afaik no socket implementation guarantees that any amount of data can be sent out at once. If send() succeeds it returns the amount of data sent, and if you request it to send 25017 bytes it can send anything from 1 byte to 25017 byte.
How much it actually sends depends on the network settings(try playing around with ifconfig), the network activity on the socket, etc. After all, not even windows guarantees that a specific amount of data is sent at once(although the mfc might do that, not sure).
Does the application / mfc expect any notification when all the data is sent? not sure.