Kirjoittaja Aihe: Onko nettiyhteyttä? -ohjelmallisesti [Ratkaistu]  (Luettu 2622 kertaa)

odysseus

  • Vieras
Eli nyt tuli eteen semmoinen tilanne, jossa pitäisi ohjelmallisesti selvittää onko koneessa nettiyhteyttä vai ei.

Tämä mieluiten C:llä tai PHP:llä, kun noilla on jo softaa tehty ja ei viitsisi ottaa muita tekniikoita "sotkemaan".

Tuleeko mieleen mikä olisi paras tapa selvittää homma? Ei viitsisi alkaa mitään socketteja väsäämään C:llä, eli saako tuon parametrin jostain koneelta kaivetua helposti.

Kyseessä on joko LAN tai WLAN -yhteys (jos mokkulan saa tietää samalla, niin OK).
« Viimeksi muokattu: 17.06.13 - klo:17.19 kirjoittanut odysseus »

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Vs: Onko nettiyhteyttä? -ohjelmallisesti
« Vastaus #1 : 17.06.13 - klo:12.33 »
Pari vaihtoehtoa mitkä tulevat ekana mieleen:

1) ping -c1 google.fi
-> jos vastaa = netti

2) tutkii /proc/net
-> sieltä varmaankin löytyy tieto mitkä interfacet ovat ylhäällä ja online


odysseus

  • Vieras
Vs: Onko nettiyhteyttä? -ohjelmallisesti
« Vastaus #2 : 17.06.13 - klo:17.18 »
Rupesin ajattelemaan samaa, eli alunperin liian vaikeasti.

Tässä kyseisessä tapauksessa kun pitää;

a) hakea data netistä
tai jos ei onnistu
b) hakea se kovalevyltä

No, HÖ! Ratkaisuhan on kokeilla "wget" tai "fopen" (PHP) suoraan ja jos se ei onnistu, niin sitten lokaali!

Siis ratkasitu, mutta jos joku saa tuohon vastauksen, että millä sen netin tunnistaa koneelta muuten (miten esim. network-applet huomaa kun kaapeli on irti), niin saa laittaa perään.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Onko nettiyhteyttä? -ohjelmallisesti [Ratkaistu]
« Vastaus #3 : 26.06.13 - klo:21.30 »
Yksi havainto mutta ei toimivuustakuuta:  Katsoo ARP -tietoja.  Jos näkyy numeroita /proc/ net/arp tiedostossa niin verkko ylhäällä.  Pikakoe bash: llä

Koodia: [Valitse]
grep -q [[:digit:]]  /proc/net/arp
echo $?
0  

Kun verkon tiputtaa niin antaa paluukoodin 1. En tosin kokeillut tuota kaapelin irroitusta kun olen wlan: in varassa tällä hetkellä vaan sammutin verkkoyhteyden Network Managerista kokeeksi. Ehkä joku keksii paremmankin paikan verkon statuksen tunnistamiseen ?
« Viimeksi muokattu: 26.06.13 - klo:21.43 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.