На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > InternetReadFile - читает гад не до конца (((
      камрады, в каких то исключительных ситуациях. примерно раз в 10-15 пакетов InternetReadFile читает 20 байт с сервера вместо отосланных сервером 21

      ExpandedWrap disabled
        for(;;)
        {
            numberOfBytesRead = 0;
            if( ::InternetReadFile( hFile, &receiveBuffer[ numberOfBytesReading ], needBytesRead, &numberOfBytesRead ) )
            {
                if( numberOfBytesRead > 0 )
                {
                            
                    numberOfBytesReading += numberOfBytesRead;
                    needBytesRead        -= numberOfBytesRead;
                            
                    if( 0 == needBytesRead )
                        break;
                    else
                    {
                        LogInfo( "read next" );
                    }
                }
                else
                    break;
                }
            else
            {
                LogInfo( "InternetReadFile FAILED" );
                break;
            }
        }


      GetLastError молчит как зоя космеденьянская на допросе в гестапо

      выяснил следующее - в первом цикле читает 20 байт, уходит на второй круг дочитать 1 байт, читает 0 и выходит из цикла чтения.
      если не выпускать - то вечно висит в цикле.
      по логам апача на сервере - тот корректно заслал положенные 21 байт в пакете.

      как лечить и вообще куда копать?
        на стороне сервера в апаче подправил модуль отсылки пакетов шоб кратно 4м байтам было - косяк с недочитанным байтом пропал в клиенте. или затаился.... хз.
          Поскольку InternetReadFile создает в кеше файл с прочитанными же данными (в папке кеша IE), то можно посмотреть там: реально ли все получил?
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0258 ]   [ 16 queries used ]   [ Generated: 28.04.24, 13:47 GMT ]