Delphi 7 Synapse nie zmienia TimeOut.

Odpowiedz Nowy wątek
2018-10-31 09:14
0

Mam taki kod:

procedure GetIPThreadProc(Param : Pointer); stdcall;
var
  url, ip : string;
  DocStr : string;
  Lista : TStringList;
  I : Integer;
  HTTP : THttpSend;

s : TStream;
code : Integer;
begin
  Lista := TStringList(Param);
  url := 'http://%s/stalker_portal/c/';

  HTTP :=ThttpSend.Create;

    with HTTP do
    begin
      Protocol := '1.1';
      UserAgent := '';
      KeepAlive := True;
      TimeOut := 300;
      HTTPMethod('HEAD',Format(url, [ip]));
      Free;
    end;

Cokolwiek bym nie przydzielił TimeOut, to zawsze Synapse swoje odczeka. Czy można to jakoś zmienić? Zależy mi na krótkim Timeout. Być może istnieje inna możliwość?

Pozostało 580 znaków

2018-10-31 13:07
0

dlaczego to jest w dziale python

Pozostało 580 znaków

2018-10-31 14:38
0

Sorki. Nie zwróciłem uwagi. Mój błąd. Ale czekam na poradę. Chcę przeskanować trochę rzeczy, a mały timeout by mi pomógł.

edytowany 1x, ostatnio: xenix33, 2018-10-31 14:38

Pozostało 580 znaków

2018-11-01 04:41
0

Właściwość TimeOut nie odpowiada za to to jest maksymalny czas oczekiwania na kolejne bajty odpowiedzi serwera tobie jest potrzebne coś w stylu connecttimeout ale
http://www.ararat.cz/synapse/[...]p/public:howto:connecttimeout


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.

Pozostało 580 znaków

2018-11-01 07:31
Pijany Pomidor
0
kAzek napisał(a):

Właściwość TimeOut nie odpowiada za to to jest maksymalny czas oczekiwania na kolejne bajty odpowiedzi serwera tobie jest potrzebne coś w stylu connecttimeout ale
http://www.ararat.cz/synapse/[...]p/public:howto:connecttimeout

Chodzi mi dokładnie o zmniejszenie czasu oczekiwania na odpowiedź serwera., po upływie którego synapse rozłącza się.

Pozostało 580 znaków

2018-11-01 09:19
1

No to tak jak w linku który podałem wyżej choć sami napisali ze to nie jest ładne rozwiązanie ale powinno działać:

      //...
      TThread.CreateAnonymousThread(procedure
      begin
        Sleep(300); //timeout
        Sock.CloseSocket;
      end).Start;
      HTTPMethod('HEAD',Format(url, [ip]));
      //...

Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.

Pozostało 580 znaków

2018-11-01 09:40
0

Dzięki. Sprytne. Ale znalazłem coś takiego. Tylko nie wiem , co wyrzucić.

Sock.SocksTimeout:=300;
Sock.ConnectionTimeout:=300;
Sock.SetTimeout(300);
Sock.NonblockSendTimeout:=500;
Sock.NonBlockMode:=true;
TimeOut := 300;

Jest jeszcze KeepAliveTimeout.

edytowany 1x, ostatnio: xenix33, 2018-11-01 09:59

Pozostało 580 znaków

2018-11-01 09:57
1

Sam sobie popróbuj może ConnectionTimeout jeżeli działa tak jak ja zakładam wystarczy nie wiem to chyba jakaś nowa właściwość. Ja dawno nic nie robiłem z Synapse(wolę Indy) dawniej chyba jej nie było.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.

Pozostało 580 znaków

2018-11-01 10:11

Tak. Wystarczy Sock.ConnectionTimeout:=300; Dzięki.
Jak zamknąć temat?

P.S.
Trzeba Synapse pobrać stąd:
https://sourceforge.net/p/synalist/code/HEAD/tree/trunk/

edytowany 3x, ostatnio: xenix33, 2018-11-01 10:16
Tematów na tym forum się nie zamyka. - kAzek 2018-11-01 10:15
Wątki zakańcza się w ten sposób, że plusuje się wszystkie pomocne posty (choć lepiej robić to na bieżąco), a przy tym zawierającym rozwiązanie zaznacza się fajeczkę. Zamknąć wątek może wyłącznie moderator, ale to robi się tylko w wyjątkowych sytuacjach. - furious programming 2018-11-01 13:01

Pozostało 580 znaków

2018-11-02 14:55
0
kAzek napisał(a):

Ja dawno nic nie robiłem z Synapse(wolę Indy) dawniej chyba jej nie było.

Ciekawość ;-)
Dlaczego wolisz INDY?
Wielkie, to,pseudo inteligentne, ciężko się tego dobrze nauczyć, mało wiadomo co tam się dzieje - za dużo magi.
Czyli dokładnie odwrotnie jak z Synapse, imo.

Ja odwrotnie, jeśli tylko mogę korzystam z Synapse.

Pozostało 580 znaków

2018-11-03 04:44
0

@wloochacz dlatego, że Indy jest regularnie rozwijane i wieloplatformowe, nie ma np. problemu z obsługą GZIP, nie wiem jak teraz ale kiedyś nie było wsparcia dla multipart/form-data itd? W Synapse dopiero niedawno zapodali domyślną obsługę przekierowań. Indy jest duże i niby jak go używasz pliki wykonywalne przybierają na wadze ale to nie ma teraz wielkiego znaczenia a ma prawie wszystko a przy tym bardzo proste w użyciu.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 1x, ostatnio: kAzek, 2018-11-03 04:51

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0