B>как — то страшно звучит, 2 сенда не быстрее уже тогда сделать и надеятся что алгоритм нагла успеет сработать, и отправится как за один сенд
Не нашел в MSDN (хотя где-то здесь писали, что по факту это так) упоминания о том, что асинхронная отправка завершается (приходит completion packet), только тогда, когда все данные, на которые указывает буфер, отправлены (а не когда отправлено хоть что-то из того, что было указано в WSASend). Подумайте, что будет, со вторым send, вызванным еще до завершения предыдущего. Зачем-то же GetQueuedCompletionStatus возвращает через lpNumberOfBytes кол-во отправленных/полученных байт.
Programs must be written for people to read, and only incidentally for machines to execute