Wstrzymanie działania wątku gdy brak internetu

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

Wstrzymanie działania wątku gdy brak internetu

Nowy postprzez mate006 » wtorek, 19 grudnia 2017, 12:08

Witam serdecznie

W jaki sposób mogę wstrzymać działanie wątku gdy nagle wystąpi błąd połączenia z internetem? Chodzi o program który za pomocą pakietu Indy aktualizuje stany na serwerze.

Oczywiście zależy mi też że jak np, internet wróci wątek się wznowił.

Prosiłbym o jakieś porady.

Pozdrawiam
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    WindowsChrome

Re: Wstrzymanie działania wątku gdy brak internetu

Nowy postprzez polymorphism » środa, 20 grudnia 2017, 11:33

Za mało szczegółów. Kto miałby wstrzymać ten wątek? Sam siebie ma zatrzymać?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox

Re: Wstrzymanie działania wątku gdy brak internetu

Nowy postprzez Cyfrowy Baron » środa, 20 grudnia 2017, 16:39

Czy chodzi o to, że chcesz by pobieranie pliku z serwera zostało wstrzymane w momencie gdy nastąpi zerwanie połączenia i wznowiło się od miejsca w którym zostało przerwane, gdy połączenie zostanie ponownie nawiązane?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Wstrzymanie działania wątku gdy brak internetu

Nowy postprzez mate006 » środa, 20 grudnia 2017, 21:47

Chodzi o to że pobieram ze strony stany (niestety hurtownia nie udostępnia pliku XML ani żadnego innego), za pomocą http://programowanie.cal.pl/cyfbar/ Cyfrowy Baron gdy nagle nastąpi brak internetu wyskakuje błąd i program się zawiesza.
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    WindowsFirefox

Re: Wstrzymanie działania wątku gdy brak internetu

Nowy postprzez polymorphism » czwartek, 21 grudnia 2017, 11:53

Jeśli chodzi o funkcję ReadFileURL(), to popraw ją, bo jest tak sobie napisana:
KOD cpp:     UKRYJ  
AnsiString ReadFileURL(const AnsiString &Url)
{
        AnsiString result;

        HINTERNET hSession = InternetOpen("ReadFileURL", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

        if(hSession)
        {
                HINTERNET hService = InternetOpenUrl(hSession, Url.c_str(), NULL, 0, 0, 0 );
                if(hService)
                {
                        char lpBuffer[1024 + 1];
                        DWORD dwBytesRead;

                        while(InternetReadFile(hService, lpBuffer, 1024, &dwBytesRead) == TRUE)
                        {
                                if(dwBytesRead == 0) break;
                                lpBuffer[dwBytesRead] = 0;
                                result += lpBuffer;
                        }
                }

                InternetCloseHandle(hService);
        }
       
        InternetCloseHandle(hSession);
        return result;
}
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje sieciowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości

cron