Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problema fsockopen

  1. #1

    problema fsockopen

    ciao a tutti. sto realizzando uno script attraverso il quale devo verificare se un determinato host è online oppure è offline. per fare cio ho utilizzato la funzione fsockopen.

    Codice PHP:

    if($sock fsockopen("udp://indirizzo_ip"numero_porta$errno$errstr2)) { 
        
            echo 
    "online";                
        
    fclose($sock);
    }
    else {

            echo 
    "offline";

    la funzione fsockopen è abilitata su apache (ho controllato)
    il problema è che se inserisco un qualsiasi indirizzo IP (anche uno inventato a caso) mi viene sempre fuori la scritta online
    ovviamente ho provato ad effettuare il ping verso questi indirizzi casuali e le richieste sono sempre scadute. com'è possibile una cosa del genere???

    PS: ho necessità di utizzare fsockopen su udp, pochè gli host che devo controllare sono server che trasmettono utilizzando udp
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Prova così, la soluzione di assegnare un valore ad una variabile in una condizione spesso ti frega, perché te la becca sempre come valida

    Codice PHP:
    <?php
    $fp 
    fsockopen("udp://127.0.0.1"numero_porta$errno$errstr2);

    if ( ! 
    $fp)
    {
        echo 
    "offline";

    else
    {
        echo 
    "online";
        
    fclose($fp);
    }
    ?>

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova così
    Codice PHP:
    $sock fsockopen("udp://indirizzo_ip"$numero_porta$errno$errstr2)
    if(
    $sock) {  
         
        echo 
    "online";                 
        
    fclose($sock); 

    else { 

            echo 
    "offline"


  4. #4
    niente da fare....il risultato è sempre lo stesso..ho provato in tutti e due i modi che mi avete suggerito. Altre soluzioni che non usino fsockopen?

    Altra domandina.

    se in php effettuo un ping verso un host, ottengo la risposta in ms del ping tra web-server e l'host che ho selezionato....se io invece volessi ottenere il ping tra il client che visita il sito internet (quindi l'ip dell'utente) e un server (differente dal web-server, quindi che risiede su un'altra macchina)???

    non ho la possibilità di accedere alle coordinate geografiche di alcuni IP (ex fastweb), altrimenti avevo gia provato una sorta di triangolazione del segnale in linea retta sfruttando la proporzione "distanza in linea retta" - "ping"

    ho provato anche ad usare l'algoritmo di dijkstra per calcolare la tabella di routing, ma in questo modo riesco solo a verificare il numero di hop tra l'host client e l'host server.......e mi sembra anche una soluzione poco ortodossa......qualche spunto??
    V.I.S.T.A. --> Virus Inside, Switch To Apple

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 © 2025 vBulletin Solutions, Inc. All rights reserved.