|  | 		    
					
        
         
          
         
	
          | |  | Tjekke om der er forbindelse til nettet i ~ Fra : nospam@zpost4660.dk
 | 
 Dato :  19-02-06 22:51
 | 
 |  | Jeg har søgt på Google både på nettet og i nyhedsgrupper,
 og jeg kan se at spørgsmålet har været oppe at vende mange
 gange, omkring hvordan man sikrer sig at der hul igennem
 til nettet inden at man begynder at foretage sig yderligere.
 
 Løsningen står endda beskrevet i Delphi's egen hjælp.
 
 Det er noget i stil med:
 
 If not terminated and clientsocket.connected then
 
 Jeg så mange svar via Google men ikke nogen der omhandler
 mit problem.
 
 Problemet er at selvom jeg benytter ClientSocket, så vil
 compileren ikke kendes ved ClientSocket.Connected og
 slet ikke Terminated.
 
 En af mine venner fandt frem til at man i stedet skulle
 skrive ClientSocket.Socket.Connected og det virkede, men
 jeg kan stadig ikke få det til at virke med Terminated,
 og Connected forhindrer ikke i sig selv at mit program
 hænger hvis der ikke er hul igennem til nettet.
 
 Jeg har blot lavet et program som justerer pc-uret mod
 et atomur. Jeg ved godt at der findes tonsvis af den
 slags programmer i forvejen, jeg synes blot at det kunne
 være sjovt at lave et selv.
 
 Findes der andre metoder at forhindre at programmet hænger
 hvis ikke at der er en brugbar linie ud til nettet?
 
 
 --
 Med venlig hilsen
 
 Jørgen Lyng
 (uden z)
 
 
 |  |  | 
  Thomas Demant (25-02-2006) 
 
	
          | |  | Kommentar Fra : Thomas Demant
 | 
 Dato :  25-02-06 14:41
 | 
 |  | > <SNIP>
 > Findes der andre metoder at forhindre at programmet hænger
 > hvis ikke at der er en brugbar linie ud til nettet?
 
 En mulighed var måske at køre det med Try og Except.
 Men med hensyn til ClientSocket, så må jeg indrømme at jeg ikke har den
 fjerneste ide om hvad det er for en komponent. Jeg har aldrig arbejdet med
 D6. Men prøv at komme med noget kildekode. Hvilken fejl giver compileren,
 for den ikke vil "kendes ved" f.eks. ClientSocket.Connected?
 
 --
 Thomas
 
 
 
 
 |  |  | 
  nospam@zpost4660.dk (25-02-2006) 
 
	
          | |  | Kommentar Fra : nospam@zpost4660.dk
 | 
 Dato :  25-02-06 23:09
 | 
 |  | Thomas Demant skrev:
 
 >> Findes der andre metoder at forhindre at programmet hænger
 >> hvis ikke at der er en brugbar linie ud til nettet?
 >
 >En mulighed var måske at køre det med Try og Except.
 >Men med hensyn til ClientSocket, så må jeg indrømme at jeg ikke har den
 >fjerneste ide om hvad det er for en komponent. Jeg har aldrig arbejdet med
 >D6. Men prøv at komme med noget kildekode. Hvilken fejl giver compileren,
 >for den ikke vil "kendes ved" f.eks. ClientSocket.Connected?
 
 Try og Except fanger desværre ikke problemet med at systemet hænger
 hvis ikke at man er online.
 
 ClientSocket.Connected er ikke meget værd når at man har en LAN
 forbindelse (kabelmodem). Den siger nemlig at man er connected også
 når man ikke
 er online.
 
 
 --
 Med venlig hilsen
 
 Jørgen Lyng
 (uden z)
 
 
 |  |  | 
  Uffe Kousgaard (26-02-2006) 
 
	
          | |  | Kommentar Fra : Uffe Kousgaard
 | 
 Dato :  26-02-06 11:21
 | 
 |  | <nospam@zpost4660.dk> wrote in message
 news:pjphv1l4so5q3raq8vp309jq2v648e44f9@4ax.com...
 >
 > Findes der andre metoder at forhindre at programmet hænger
 > hvis ikke at der er en brugbar linie ud til nettet?
 
 Prøv at lave ping på en bestemt side. Jeg mener, at Indy har den slags
 indbygget.
 
 hilsen
 Uffe
 
 
 
 
 |  |  | 
  nospam@zpost4660.dk (26-02-2006) 
 
	
          | |  | Kommentar Fra : nospam@zpost4660.dk
 | 
 Dato :  26-02-06 12:44
 | 
 |  | Uffe Kousgaard skrev:
 
 >Prøv at lave ping på en bestemt side. Jeg mener, at Indy har den slags
 >indbygget.
 
 Har lige prøvet at benytte ping via det roste ICS modul.
 Det hjalp desværre heller ikke.
 
 --
 Med venlig hilsen
 
 Jørgen Lyng
 (uden z)
 
 
 |  |  | 
   Uffe Kousgaard (26-02-2006) 
 
	
          | |  | Kommentar Fra : Uffe Kousgaard
 | 
 Dato :  26-02-06 12:59
 | 
 |  | <nospam@zpost4660.dk> wrote in message
 news:h15302haf9oivbtidebomhsqr8h90gc3ko@4ax.com...
 >
 > Har lige prøvet at benytte ping via det roste ICS modul.
 > Det hjalp desværre heller ikke.
 
 hvordan virker det ikke?
 
 
 
 
 |  |  | 
    nospam@zpost4660.dk (27-02-2006) 
 
	
          | |  | Kommentar Fra : nospam@zpost4660.dk
 | 
 Dato :  27-02-06 00:10
 | 
 |  | Uffe Kousgaard skrev:
 
 >> Har lige prøvet at benytte ping via det roste ICS modul.
 >> Det hjalp desværre heller ikke.
 >
 >hvordan virker det ikke?
 
 Der var vedlagt et programeksempel som gør brug af ping
 funktionen. Man indtaster en IP-adresse som man vil pinge,
 og så skriver den resolving host uanset om der er forbindelse
 eller ej, og der sker ikke yderligere. Ikke nogen tilbagemelding,
 heller ikke når at der er "hul igennem".
 
 
 --
 Med venlig hilsen
 
 Jørgen Lyng
 (uden z)
 
 
 |  |  | 
   Thomas Demant (26-02-2006) 
 
	
          | |  | Kommentar Fra : Thomas Demant
 | 
 Dato :  26-02-06 21:39
 | 
 |  | 
 
            >>Prøv at lave ping på en bestemt side. Jeg mener, at Indy har den slags
 >>indbygget.
 >
 > Har lige prøvet at benytte ping via det roste ICS modul.
 > Det hjalp desværre heller ikke.
 Kender ikke pågældende modul.
 Men du kunne f.eks. tilslutte til Google.com på port 80 og straks du har 
 forbindelse afbryde. Dit program "hænger", hvis der ikke er forbindelse, men 
 kun i den periode du har sat timeout til (standard er 30 sekunder). Hvad 
 Google siger til det ved jeg ikke, men det virker    Mener at Indy komponenten hedder TCPsocket, men er dog ikke helt sikker. 
 Hvis jeg husker det, kan jeg smide en stump kode i morgen eftermiddag.
 -- 
 Thomas 
            
             |  |  | 
    nospam@zpost4660.dk (27-02-2006) 
 
	
          | |  | Kommentar Fra : nospam@zpost4660.dk
 | 
 Dato :  27-02-06 00:10
 | 
 |  | Thomas Demant skrev:
 
 >Hvis jeg husker det, kan jeg smide en stump kode i morgen eftermiddag.
 
 Det lyder interessant.
 
 --
 Med venlig hilsen
 
 Jørgen Lyng
 (uden z)
 
 
 |  |  | 
     Thomas Demant (27-02-2006) 
 
	
          | |  | Kommentar Fra : Thomas Demant
 | 
 Dato :  27-02-06 22:13
 | 
 |  | >>Hvis jeg husker det, kan jeg smide en stump kode i morgen eftermiddag.
 >
 > Det lyder interessant.
 Det blev først hen under aften, men her er den:
 
 
 try
 TCP1.Host:='google.dk'
 TCP1.Port:=80
 TCP1.Connect(30000); //tallet i parantes er timeout i millisekunder
 TCP1.Disconnect;
 except
 on E: Exception do
 begin
 ShowMessage('Ingen forbindelse...'+FormatDateTime('DD-MM-YYYY
 HH:NN:SS', now)+#13+E.Message);
 end;
 end;
 
 TCP1 er IdTCPClient-komponenten. Er testet med Indy 7. Der er måske enkelte
 ting der skal rettes til Indy 6.
 
 Med forbehold for syntakstfejl m.m. ;)
 
 --
 Thomas
 
 
 
 
 
 |  |  | 
      nospam@zpost4660.dk (28-02-2006) 
 
	
          | |  | Kommentar Fra : nospam@zpost4660.dk
 | 
 Dato :  28-02-06 13:09
 | 
 |  | 
 
            Hej Thomas    Thomas Demant skrev:
 >      TCP1.Port:=80
 >      TCP1.Connect(30000); //tallet i parantes er timeout i millisekunder
 Tak for hjælpen
 -- 
 Med venlig hilsen
 Jørgen Lyng
 (uden z)
            
             |  |  | 
     Thomas Demant (27-02-2006) 
 
	
          | |  | Kommentar Fra : Thomas Demant
 | 
 Dato :  27-02-06 22:14
 | 
 |  | >>Hvis jeg husker det, kan jeg smide en stump kode i morgen eftermiddag.
 >
 > Det lyder interessant.
 Det blev først hen under aften, men her er den:
 
 
 try
 TCP1.Host:='google.dk'
 TCP1.Port:=80
 TCP1.Connect(30000); //tallet i parantes er timeout i millisekunder
 TCP1.Disconnect;
 except
 on E: Exception do
 begin
 ShowMessage('Ingen forbindelse...'+FormatDateTime('DD-MM-YYYY
 HH:NN:SS', now)+#13+E.Message);
 end;
 end;
 
 TCP1 er IdTCPClient-komponenten. Er testet med Indy 7. Der er måske enkelte
 ting der skal rettes til Indy 6.
 
 Med forbehold for syntakstfejl m.m. ;)
 
 --
 Thomas
 
 
 
 
 
 
 |  |  | 
 |  |