Вызов WSASend () в порту завершения?

Многие из вас знают, что оригинальный метод send () не будет записывать в проводник количество байтов, которое вы запрашиваете. Вы можете легко использовать указатель и цикл, чтобы убедиться, что все ваши данные отправлены.

Однако я не вижу, как в этом случае работают порты WSASend () и завершения. Он возвращается немедленно, и вы не можете контролировать, сколько было отправлено (за исключением lpLength, к которому у вас есть доступ в подпрограмме). Как это решить?

Нужно ли вызывать WSASend () в процедуре несколько раз, чтобы получить все данные? Разве это не кажется большим недостатком, особенно если вы хотите, чтобы ваши данные располагались в определенном порядке и несколько потоков обращались к подпрограммам?

Ответы на вопрос(3)

Ваш ответ на вопрос