Доброго времени суток.
Приложение посылает xml-запросы серверу и получает их в таком же виде.
Имею возможность видеть лог сервиса на сервере, ко мне уходит "большой"(24к) ответ, InternetReadFile читает маленький кусочек и все, а когда я закрываю handle запроса вываливаеться исключение win32.
Код
if (!HttpSendRequest(hRequest, NULL, 0, (LPVOID)postData, postDataSize)) //шлю хмл
{
ret = EHTTPERROR_CreateHTTPRequestFailed;
break;
}
if (!HttpEndRequest(hRequest, NULL, 0, 0))
{
DWORD d = GetLastError();
ret = EHTTPERROR_CreateHTTPRequestFailed;
break;
}
// read answer
char buff[ 1024 ];
int recived = 0;
while (1)
{
DWORD nread = 0;
if (!InternetReadFile(hRequest, buff, 1024, &nread)) //читает все время 1736 байт от длиного ответа
{
ret = EHTTPERROR_CreateHTTPRequestFailed;
break;
}
if (nread)
{
int oldSize = recived;
recived += nread;
memcpy(recvData + oldSize, buff, nread);
}
else
break;
}
recvData[ recived ] = 0;
break;
}
if (hRequest)
InternetCloseHandle(hRequest); //исключение, так как не все дочитал
Если кто сталкивался с таким, прошу помочь.
Заранее спасибо