Нужно определить количество загруженных байтов с помощью Winsock и recv

У меня есть код, который использует блокирующий сокет для получения данных через вызов в recv. Все работает просто отлично. Однако нет способа сообщить пользователю количество байтов, загруженных в любой точке процесса. Я предполагаю, что для того, чтобы сделать это, мне нужно будет сделать несколько звонков в recv, и сообщать после каждого звонка? Или есть лучший, более эффективный способ сделать это?

0

Решение

в MSDN, recv делает следующее:

recv возвращает количество полученных байтов, а буфер, на который указывает параметр buf, будет содержать полученные данные.

Таким образом, вы могли бы создать int received и накапливать полученные байты, которые возвращаются recv до тех пор recv больше нечего получать, а затем сообщить об общей сумме, накопленной в вашем received переменная.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]