Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 34
  1. #21
    Originariamente inviato da daviweb
    Sapete come fare per attivarlo? Uso Win 2003 server...

    Grazie
    hum.. premesso che fork ed exec sono due primitive *nix..... non so se possono essere emulate sotto windows

  2. #22
    Eseguendo un ping su win2000 pro funziona, ma su win2003 no.

    exec("ping -n $count $host", $valori) ;

    Visto che sul 2003 è tutto disabilitato di default, pensavo che bastasse mettere una spunta...da qualche parte!

  3. #23
    Originariamente inviato da daviweb
    Eseguendo un ping su win2000 pro funziona, ma su win2003 no.

    exec("ping -n $count $host", $valori) ;

    Visto che sul 2003 è tutto disabilitato di default, pensavo che bastasse mettere una spunta...da qualche parte!
    non so dirti allora

  4. #24
    Se vuoi usare i socket il formato dei dati per la request del PING è un po' particolare, leggi il commento 19-Jan-2004 03:55 in questa pagina

    Oltre ai dati devi inviare un checksum degli stessi...insomma bisogna studiarsi un po' il protocollo come ha detto Daniele

    http://it.php.net/manual/en/ref.sockets.php
    per favore NIENTE PVT TECNICI da sconosciuti

  5. #25
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    Originariamente inviato da daviweb
    Eseguendo un ping su win2000 pro funziona, ma su win2003 no.
    Tanto per cambiare
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  6. #26
    Ho deciso di installare la mia applicazione su linux, visto che su win2003 non ne voleva sapere di andare... ma c'è un problema anche qui!!

    codice:
    $host = "192.168.0.51";
    	exec("ping -n 1 $host", $risultato);
    	for ($i=0; $i < 9; ++$i) {
    		echo($i ."-->" .$host ."-" .$risultato[$i] ."
    ");
    	}
    Eseguendolo su win 2000 funziona e mi restituisce:

    codice:
    0-->192.168.0.51-
    1-->192.168.0.51-Esecuzione di Ping 192.168.0.51 con 32 byte di dati:
    2-->192.168.0.51-
    3-->192.168.0.51-Risposta da 192.168.0.51: byte=32 durata<10ms TTL=128
    4-->192.168.0.51-
    5-->192.168.0.51-Statistiche Ping per 192.168.0.51:
    6-->192.168.0.51- Pacchetti: Trasmessi = 1, Ricevuti = 1, Persi = 0 (0% persi),
    7-->192.168.0.51-Tempo approssimativo percorsi andata/ritorno in millisecondi:
    8-->192.168.0.51- Minimo = 0ms, Massimo = 0ms, Medio = 0ms
    Su linux, non da errori, ma non visualizza il risultato:

    codice:
    0-->192.168.0.51-
    1-->192.168.0.51-
    2-->192.168.0.51-
    3-->192.168.0.51-
    4-->192.168.0.51-
    5-->192.168.0.51-
    6-->192.168.0.51-
    7-->192.168.0.51-
    8-->192.168.0.51-
    Cosa potrebbe essere??

  7. #27
    Che fagiano... il -c del ping...

    ciao

  8. #28
    Allora... inutile dire che trovandomi ancora su aruba purtroppo sono costretto a inventarmi cose turpi...

    In attesa di metterci la macchina dedicata e quindi poter tranquillamente eseguire tutte le fork che si vuole mi sono incuriosito e pensando che sulla faccia della terra siamo tantissimi qualcuno alla falsa funzione ping ci doveva aver gia' pensato...

    Dunque vi propongo questa direttamente dai commenti di php.net alla voce sockets.

    Codice PHP:
    <?php
    // Script created by telefoontoestel
    // for info of some kind please send an email to
    // telefoontoestel at officexpert dot digitaal dot biz

    // get_microtime() function copied from php.net: function microtime() user contributes

    // get_microtime function
    function get_microtime(){
       list(
    $usec$sec) = @split(" "microtime());
       return ((float)
    $usec + (float)$sec);
    }
    // end of get_microtime function

    // ping function
    function ping($server$num_pings=4$size=32$time_out=15) {

       
    $data "";

       if(!
    is_int($num_pings) || $num_pings 0$num_pings 4;
       if(!
    is_int($size) || $size 0$size 32;
       if(!
    is_int($time_out) || $time_out 0$time_out 15;
      
       
    $results = Array();
      
      
       for(
    $i 0$i $size$i++){
           
    $data .= "\0";
       }
      
       
    $server_ip gethostbyname($server);
       
    $server_name $server;
      
       if(
    $server_ip != $server_name$results[0]["server_name"] = $server_name." [".$server_ip."]";
       else 
    $results[0]["server_name"] = $server_ip;
       
    $results[0]["server_ip"] = $server_ip;
       
    $results[0]["bytes"] = $size;
      
      
      
       for(
    $i 1$i <= $num_pings$i++){
           
    $start_timer get_microtime();
           if((
    $handle = @fsockopen("udp://".$server_ip7$errno$errstr$time_out)) == false)
               if((
    $handle = @fsockopen($server_ip7$errno$errstr$time_out)) == false){
                   
    $results[$i]["bytes"] == 0;
                   
    $results[$i]["time"] == -1;
                   continue;
               }
                  
           @
    fputs($handle$data$size);
           
    $results[$i]["bytes"] = @fgets($handle$size);
           
    $results[$i]["time"] = round((get_microtime() - $start_timer) * 1000);
           
    $start_timer 0;
           @
    fclose($handle);
       }
       return 
    $results;
    }

    // end of ping function

    if(($server $_GET["server"]) == false$server "127.0.0.1";

    $result ping($server,1,8);

    $lost 0;
    $received 0;
    $send sizeof($result) - 1;

    $max_time 0;
    $min_time 15000;
    $avg_time 0;
    $total_time 0;

    print 
    "Pinging ".$result[0]["server_name"]." with ".$result[0]["bytes"]." bytes of data:

    \n"
    ;

    for(
    $i 1$i sizeof($result); $i++){   
       if(
    $result[$i]["time"] == -1){
           print 
    "Request timed out
    \n"
    ;
           
    $lost++;
           continue;
       }
      
       
    $total_time += $result[$i]["time"];
       
    $received++;
       if(
    $result[$i]["time"] > $max_time$max_time $result[$i]["time"];
       else if(
    $result[$i]["time"] < $min_time$min_time $result[$i]["time"];
      
       print 
    "Reply from ".$result[0]["server_ip"].": bytes=".$result[0]["bytes"]." time=".$result[$i]["time"]."ms 
    \n"
    ;
      
    }

    $avg_time round($total_time $send);

    print 
    "
    \n"
    ;
    print 
    "Ping statistics for ".$result[0]["server_ip"].":
    \n"
    ;
    print 
    "Packets: Sent = ".$send.", Received = ".$received.", Lost = ".$lost." (".round((100 $send) * $lost)."% loss)
    \n"
    ;
    print 
    "Approximate roundtrip in milli-seconds:
    \n"
    ;
    print 
    "Minimum = ".$min_time."ms, Maximum  = ".$max_time."ms, Average = ".$avg_time."ms
    \n"
    ;
    ?>
    Sul mio comp funziona molto bene, sfrutta il sistema dell'invio/ricezione che volevo usare io ma via porte udp mi pare di capire... solo come faccio a farla funzionare su altri webserver?? Stranamente aruba nn fa girare il tutto nemmeno specificando come destinazione se stesso... va in timeout

  9. #29
    Cosa dice phpinfo()? Aruba ha per caso delle funzioni disabilitate? Es. fsockopen
    per favore NIENTE PVT TECNICI da sconosciuti

  10. #30
    umm no che io sappia quella funzione fino a pochi giorni fa funzionava penso sia una specie di problema di timeout stesso dal mio computer se provo a fare

    ?server=localhost tutto ok se metto invece
    ?server=apple.com oppure www.apple.com tanto per dirne una ci mette un sakko di tempo e va in timeout pure a me! l'ho provata un sakko in locale ed e' una bestia molto meglio della mia pero' perlomeno la mia nn se blocca (anche se in realta' calcola solo il tempo di apertura del socket e della chiusura mentre questo invia e riceve bytes con tanto di loss packets :|)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.