Форум программистов, компьютерный форум CyberForum.ru

Не пойму где ошибка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибку помoгите найти http://www.cyberforum.ru/cpp-beginners/thread271477.html
sorry
C++ Постройка бин. дерева помогите, не строится дерево #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; struct tree { int m; tree* l; http://www.cyberforum.ru/cpp-beginners/thread271475.html
найти цифру C++
господа прграмисты возник такой вопрос-возможно в консольном приложении,на с++,выводя на экран при помощи "Cout" найти допустим определённый знак.Ну например-выводим "1,2,3,4,5,=" и из него на ходим "=". Заранее всем огромное спасибо,давно интересовал этот вопрос!!!
C++ Сортировка методом выбора, односвязный список
Добрый вечер. Такая проблема, срочно нужно сделать два задания, я сколько не пробовал - у меня ещё не получается, нужно в кратчайшие сроки. Обратиться мне не к кому, живу в маленьком городе, и кто разбирается таких нет (( Выручите, кто может. Задание 1. Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов символьного двумерного массива. Отсортировать...
C++ Вычисление суммы http://www.cyberforum.ru/cpp-beginners/thread271451.html
Здравствуйте многоуважаемые специалисты. Вынужден прибегнуть к вашей помощи! Программирование на С++, и ооочень прошу - блок схему опишите))) Ситуация в следующем: Вычислить сумму: (вложенный документ). Огромнейшее спасибо!)
C++ Visual Studio 2008 Prof При попытке запуска программы в компиляторе выводит следующую ошибку. 1>LINK : fatal error LNK1104: не удается открыть файл ''kernel32.lib'' эту ошибку выдает при любом коде.даже самом простом и 100 % правильном. Попытка перестановки Visual Studio проблему не решила.Может кто что посоветует.Очень нужен нормально работающий компилятор(( подробнее

Показать сообщение отдельно
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
06.04.2011, 22:58     Не пойму где ошибка
погугли насчет InternetReadFile
я вот сечас нашел
В вининет InternetReadFile дожидается пока не будет заполнен весь буфер или не закачан весь ответ. У меня ответ приходит блоками, блоки разного размера. Хотелось бы чтоб InternetReadFile возвращал каждый блок сразу по его получении, чтоб его обработать, а не ждать пока придут все блоки... как это можно сделать?
Просто если сервер никак не размечает отправляемые "блоки", то у клиента нет никакой возможности их разделить. На долгом пути от сервера эти "блоки" в принципе могут многократно разбиваться на более мелкие и опять склеиваться, причём "разделение" между блоками будет выглядеть просто как некоторая произвольная задержка между группами пакетов транспортного уровня, весьма условное разделение. Всё что можно сделать, это вычитывать из соединения данные блоками фиксированного размера, либо с помощью связки InternetQueryDataAvailable + InternetReadFileEx читать то, что доступно в данный момент. Но ни то, ни другое не гарантирует, что разделение на "блоки", сделанное на сервере, сохранится на клиенте.
и вот что предлагают
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
PVOID pReadBuffer;
int   iBlockSize;      // Сюда будет писаться размер блока
bool  fData = false;
DWORD dwReaded, 
      dwBufferSize = sizeof(int);
pReadBuffer = &iBlockSize;
 
BOOL fNoReadError = TRUE;
while (fNoReadError = InternetReadFile(hRequest, pReadBuffer, dwBufferSize, &dwReaded)) // !! must be = (not ==)
{
   if (dwReaded)
   {
      if (fData)
      {
         ProcessData(pReadBuffer);  // Обрабатываете свой блок
         free(pReadBuffer);
         // Готовимся читать новый блок
         fData = false;
         pReadBuffer  = &iBlockSize;
         dwBufferSize = sizeof(int);
      } else
      {
         pReadBuffer  = malloc(iBlockSize);
         dwBufferSize = iBlockSize;
         fData = true;
      }
   } else
     break;   // все считано
}
...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru