Netchecker and launcher
From WiKim
Contents |
Introduction
Making a client that checks if a connection to the (Inter)net is available, and optionally launches some applications, in case the connection is available.
Inspired by this thread on macnyt.dk Hjælp til AppleScript...
The idea
Her er en lille udfordring til de sene nattetimer når i alligevel bare sidder her og kigger..
Jeg tænker om ikke det er muligt at lave et AppleScript som checker om der er forbindelse til nettet og derefter starter forskellige programmer hvis der er.. Man kunne f.eks. checke om der er forbindelse til Google.com.. Den har jeg aldrig oplevet var nede..
Pointen er at jeg ikke gider sætte Firstclass og Adium til at starte når jeg tænder min iBook for en gang imellem er man på farten og kan ikke komme online.. Så er det irriterende de skal forsøge at starte.. Hvis i stedet bare det her script startede i baggrunden, skulle man ikke bekymre sig om det..
Det fedeste ville være hvis man i en eller anden settings-fil, nemt kunne angive hvilke programmer scriptet skulle starte hvis det fandt forbindelse. Så ville alle kunne bruge scriptet til lige nøjagtig de apps som de hver havde brug for startede..
Har nogen lyst til at prøve..?
Suggested solutions
marvin skrev: Ret mig hvis jeg tager fejl, men man får vel ikke tildelt en IP (med mindre man har fast IP, som jeg ikke kan forvente man har on the go). Derfor kan man vel tjekke den tildelte IP? Dette vil samtidig aflaste Google
Bestemt vigtigt at checke, men det garanterer ikke at der er hul i gennem til noget "reelt".
En ægte "applikations ping" vil inspicere resultatet af det en, eller flere, netbasserede tjenester returnerer, gerne på flere servere.
Men lidt pseudokode:
- Check om der er tildelt IP adresse
- Check om der er hul igennem til DNS
- Nu er det sandsynligt at der er forbindelse til nettet, så check om man kan resolve en net adresse
- Check resultat fra webservice
- Hvis man på bare et af disse checks har en time-out eller en fejl af den ene eller anden slags, så er der noget galt
Nu er spørgsmålet så hvor tit forbindelsen skal kontrolleres.'
Som sagt må der være mange der har lavet sådan noget kode (jeg har selv gjort det, dog ikke på Mac OS X).
Edit: ps: Teknisk note...Det nemmeste er nok at anvende f.eks. NSURLConnection Cocoa API funktionen, selv om der nok er mere fremtid i at bruge CoreFoundations, CFNetwork APIer, jeg kan bare ikke helt gennemskue hvilke Mac OS X versioner det er kompatibelt med...
Additional comment
Jeg har mest brug for at der bare bliver checket ved opstart, men det er da ikke utænkeligt at andre kunne bruge faste intervaller. Hvis det ender som en applikation, kunne man så ikke bare lægge en pref omkring dette?

