Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2009, 18:59   #11
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Код:
    
try
    s.Text:=id2.Get('http://'+str);
    id2.Disconnect;
    except
    on E: Exception do
        begin
        if pos('Connection reset by peer',E.Message)>0 then
          begin
          form1.MemoDebug.Lines.Add('reset by peer '+str);
          end;
        end;
    end;
все равно..
Viteef вне форума Ответить с цитированием
Старый 05.02.2009, 19:21   #12
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

А если так?
http://programmersforum.ru/showthread.php?t=7572
Есть кстати вот что еще кпримеру
procedure TPhase3Thread.Execute;
Код:
    .....

    vException := False;

    vTempFileName := GetTemporaryFileName('.html');

    if Pos('https://', vLink) = 0 then
      try
        FHTTP.DisconnectSocket;
        FResult.Text := FHTTP.Get(vLink);
      except
        on E: Exception do
        begin
          vException := True;
          vExceptionMessage := E.Message
        end
      end
    else
    begin
      DownloadFile(vLink, vTempFileName);
      FResult.LoadFromFile(vTempFileName);
    end;

    if vException then
    begin
      if Assigned(FOnLog) then
        FOnLog(Self, 'HTTP Transaction failed: ' + vLink + ' :: ' +
vExceptionMessage)
отрыл у себя в каких- то подписках, но это код для D7
Мысль общая такова ? а если пробовать сначала отключаться, а потом уже GET-ить ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 05.02.2009, 20:39   #13
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Цитата:
а если пробовать сначала отключаться, а потом уже GET-ить ?
теперь работает, спасибо большое
Viteef вне форума Ответить с цитированием
Старый 05.02.2009, 23:00   #14
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

в общем-то логика в этом присутствует ) ибо перед Get-м наверно все- таки надо сбрасывать предыдущую сессию, хотя именно к Http это никакого отношения не имеет, все вопросы к "индейцам" =)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 14.02.2009, 22:10   #15
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Недавно все- таки посомтрел повнимательней Idhttp вобщем закачка в несколько нитей там уже практически присутствует.
Организуется следующим образом:
сначала делаем head удаленному файлу, смотрим contextlength
выясняем своими какими-то методами сколько будем делать нитей и сколько байт должна загрузить каждая.
Далее создаем файл на жестком диске.
Далее создаем потоки, кол-во которых равно кол-ву нитей для закачки.
В каждом потоке создаем IdHttp
и заполняем его свойства
Код:
    Request.ContentRangeEnd = XXX  //Окочание блока (в байтах)
    Request.ContentRangeStart = XXX  //Начало блока (в байтах)
    Request.ContentRangeInstanceLength = XXX //Длинна блока
Ну и для полного понимания:
Цитата:
Declaration
property ContentRangeStart: Int64;
Summary
Identifies the beginning byte range in a partial request.
Description
ContentRangeStart is an Int64 property that identifies the beginning byte range requested for a partial entity resource. ContentRangeStart is used with ContentRangeEnd to form the "Content-Range" message header value.
All ContentRangeStart values are expressed in bytes.

Clients cannot depend on servers to send a "416 Requested range not satisfiable" response instead of a "200 (OK)" response for an unsatisfiable request with ContentRangeStart and ContentRangeEnd values, since not all servers implement this request-header.
Цитата:
Declaration
property ContentRangeEnd: Int64;
Summary
Identifies the upper byte range in a partial request.
Description
ContentRangeEnd is an Int64 property that identifies the upper byte range requested for a partial entity resource. ContentRangeEnd is used with ContentRangeStart and ContentRangeInstanceLength to form the "Content-Range" message header value.
All ContentRangeEnd values are expressed in bytes.

Clients cannot depend on servers to send a "416 Requested range not satisfiable" response instead of a "200 (OK)" response for an unsatisfiable request with ContentRangeStart and ContentRangeEnd values, since not all servers implement this request-header.
Цитата:
Declaration
property ContentRangeInstanceLength: Int64;
Summary
Represents the entity size for a content range request.
Description
ContentRangeInstanceLength is an Int64 property that represents the size of an entity or the maximum number of bytes available in a "Content-Range" message header for a requested entity.
ContentRangeInstanceLength is used with values in the ContentRangeStart and ContentRangeEnd properties to identify the requested byte ranges and upper limit.

In the following example, ContentRangeInstanceLength is represented by the value 102400.


content-range: bytes 1-65536/102400
content-range: bytes 1-65536/*
When the entity size is not know, is or insignificant, the value zero is used to represent the '*' in the following example:


content-range: bytes 1-65536/*
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
многопоточность в Delphi xakkkkker Свободное общение 12 13.08.2010 18:52
как обновить indy 9 на indy 10 Пилигрим Компоненты Delphi 16 30.04.2010 10:11
Indy 9 против Indy 10 OrdJONY Свободное общение 2 08.11.2008 20:28
многопоточность в сетевых приложениях AlexandrY Работа с сетью в Delphi 9 13.07.2008 02:43
IRC в Indy Zer0 Работа с сетью в Delphi 2 12.02.2008 09:57