Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 15:43 Der er 30 kommentarer og
1 løsning

ping

Hej

Hvordan laver man et javascript der pinger en IP og laver document.write "Online" hvis den svarer og document.write "Offline" hvis den bliver timeoutet :)
Avatar billede limemedia Nybegynder
28. august 2002 - 15:48 #1
det kan du ikke udelukkende med javascript
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 15:50 #2
så med PHP eller et eller andet andet skal bare have noget pis der gør det og kan indsættes på en PHP side :)
Avatar billede limemedia Nybegynder
28. august 2002 - 15:54 #3
hvis du er på unix server kan du se her
http://www.theworldsend.net/ping_src.php
Avatar billede fiskesuppe Nybegynder
28. august 2002 - 15:55 #4
Avatar billede jakoba Nybegynder
28. august 2002 - 15:59 #5
Du kan opnå noget i retning af det samme ved at prøve at hente et lille billede fra den anden server, og så se om der kommer noget. Men det er væsentligt nemmere med php
Avatar billede limemedia Nybegynder
28. august 2002 - 16:04 #6
hvis du er lidt fiks, kan du ændre scriptet

<?php
    function getmicrotime(){
        list($usec, $sec) = explode(" ",microtime());
        return ((float)$usec + (float)$sec);
    }

    $time_start = getmicrotime();
    $fp = fsockopen ("www.ljweb.com", 80, $errno, $errstr, 30);
    $time_end = getmicrotime();
    if (!$fp) {
        echo "Ping died ! Server down\n";
        die();
    }
    fclose ($fp);
   
    echo "Got response in ".($time_end-$time_start)." sec";
?>

www.ljweb.com skal udskiftes med din url, 80 er portnummeret (port80 = http)

resultatet vil ikke være helt at sammenligne med ping, men give en ide om hvor hurtigt en server svarer.

/ LJ
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 16:12 #7
skal bruge det til en FreeBSD server
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 16:13 #8
og det skal tjekke om der er responds fra den ping lige som "ping xxx.xxx.xxx.xxx" i windows's DOS prompt og så skrive online eller offline :)
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 16:14 #9
ikke noget port navn eller noget

det skal bruges til en clan side på medlems listen hvor der skal stå Status: Online/Offline alt efter om der er responds på IPen :)
Avatar billede limemedia Nybegynder
28. august 2002 - 16:16 #10
den her virker på din FreeBSD
http://www.theworldsend.net/ping_src.php
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 16:21 #11
:@ for fanden jeg vil gerne have noget simpelt ikke en form til at indtaste pis i der ikke dur :( http://212.10.231.197/default.php
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 16:21 #12
den giver CGI error pis!
Avatar billede limemedia Nybegynder
28. august 2002 - 16:35 #13
tester på min egen bsd og vender tilbage, har du en ip at teste imod ?
Avatar billede limemedia Nybegynder
28. august 2002 - 16:35 #14
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 16:36 #15
det dur nu men kan ikke få det til at virke uden port :'(

der må ikke være port da det ikke er servere jeg skal pinge har de ikke alle en åben port :'(
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 16:37 #16
og kan man eventuelt lave det med en timeout på 10 sek. da når serveren ikke svarer bruger det ret lang tid inden det siger offline!
Avatar billede limemedia Nybegynder
28. august 2002 - 16:42 #17
Jeg lavede lige et nyt script der er væsentligt kortere og nemmere at arbejde med

<?php
    $adr = "www.ljweb.com";
    exec('ping -c 1 '.$adr.'', $strarray);
    $str = implode('<br>', $strarray);

    if (eregi('packets received')) echo "Online";
    else echo "Offline";
?>
Avatar billede limemedia Nybegynder
28. august 2002 - 16:43 #18
kun fsockopen eksemplet tidligere kan sættes med en timeout...
Avatar billede limemedia Nybegynder
28. august 2002 - 16:45 #19
ups, sådan selvfølgeligt...
<?php
    $adr = "www.ljweb.com";
    exec('ping -c 1 '.$adr, $strarray);
    $str = implode('<br>', $strarray);

    if (eregi('packets received', $str)) echo "Online";
    else echo "Offline";
?>
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 17:11 #20
det var straks bedre men det dur stadig ikke rigtigt!

den siger offline like gyldigt hvilken IP man indsætter!
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 17:12 #21
Avatar billede limemedia Nybegynder
28. august 2002 - 17:40 #22
prøv

<?php
    $adr = "www.ljweb.com";
    exec('ping -c 1 '.$adr, $strarray);
    $str = implode('<br>', $strarray);

    #DEBUG
    echo $str."<br><hr><br>";

    if (eregi('packets received', $str)) echo "Online";
    else echo "Offline";
?>

hos mig giver den

PING www.ljweb.biz (64.176.49.80): 56 data bytes
64 bytes from 64.176.49.80: icmp_seq=0 ttl=239 time=245.617 ms

--- www.ljweb.biz ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 245.617/245.617/245.617/0.000 ms

Online
Avatar billede limemedia Nybegynder
28. august 2002 - 17:43 #23
prøv at give mig et par af de ip'ere du selv tester med
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 18:30 #24
212.10.231.197 IP til min egen maskine :)
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 18:35 #25
OFFLINE :(
Avatar billede limemedia Nybegynder
28. august 2002 - 18:42 #26
hvad gør du præcist ? med din ip får jeg

PING 212.10.231.197 (212.10.231.197): 56 data bytes
64 bytes from 212.10.231.197: icmp_seq=0 ttl=106 time=345.130 ms

--- 212.10.231.197 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 345.130/345.130/345.130/0.000 ms

--------------------------------------------------------------------------------

Online


prøv at skrive hele output'tet
Avatar billede www.ms.clan.4t.com Nybegynder
28. august 2002 - 19:46 #27
Avatar billede limemedia Nybegynder
28. august 2002 - 19:51 #28
er det en dedikeret maskine eller et webhotel ? prmblemet er at exec kommandoen ikke svarer og derfor bliver din maskine aldrig pinget (når pingen fejler er du offline)

har du evt begrænset php'en i php.ini ?

hvis du logger på med ssh på serveren og udfører
ping -c 1 212.10.231.197

får du så svar der ?
Avatar billede www.ms.clan.4t.com Nybegynder
29. august 2002 - 18:05 #29
ssh hvad fanden er det (ja jeg er lidt n00b)
Avatar billede limemedia Nybegynder
29. august 2002 - 18:13 #30
ssh er den sikre form for en telnet
Avatar billede www.ms.clan.4t.com Nybegynder
31. august 2002 - 17:01 #31
ved hvad der er galt :)

jeg har lige sat en linux server op og den bruger -c ting til at pinge men jeg skal bruge scriptet på en win2k server med apache og moddet FreeBSD :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester