Похоже, вы хотите выполнить минимальную реализацию для достижения своей цели. В этом случае вы должны установить свой сокет на блокировку, и после отправки, которая блокирует, пока все данные не будут отправлены, вы вызываете recv, который, в свою очередь, будет блокировать до тех пор, пока не будет получен пакет ACK, или конец сервера не закроет или не прервет соединение.
Если вы хотите пойти дальше со своей реализацией, вам придется структурировать клиентское приложение таким образом, чтобы поддерживать асинхронную связь. Есть несколько методов с различной степенью сложности; опрос с использованием select () простой, модель событий с использованием WSASelectEvent / WSAWaitForMultipleEvents сложная, а модель IOCompletionPort очень сложная.