V>Так а нет бага.
V>WSARecv вам гвоорит сколько было прочтено, естевенно все прочесть наверно не смогло, потому SOCKET_ERROR WSA_IO_PENDING — просто напоминание вам что считано не все что вы спрашивали.
V>На всяк случае напомню.
V>Посему нужно самому следить за указателем записи, тоесть к примеру если у вас есть буфер на 1Килобайт, а после чтения функция чтения вернула вам 100, то следующе обращение к функции нужно будет делать с параметрами — ячейка памяти буфера смещенная на 100 и 1024 — 100 байт.
nRecvResult = WSARecv(sClient->scSocket,
&(sClientOverlapped->scDataBuf),
1,
&dwBytes,
&dwFlags,
&(sClientOverlapped->scOverlapped),
NULL);
>>>к примеру если у вас есть буфер на 1Килобайт, а после чтения функция чтения вернула вам 100
В моем случае я отправляю 64 байта, а функция возвращает, что считано
0 и так всегда. Если бы она вернула что считана часть, я бы считал следующую часть и так до конца. Но она возващает всегда 0, вот тут и загвоздка. Я не могу узнать сколько прочитано.
Статьи я почитал и сделал все как было написано, может конечно, что и не понял. Помоги те разъяснить пожалуйста.