Autor Zpráva
stibto
Profil *
Ahoj, chci se na něco zeptat, mám tento skriptík:
function status($port){


  $ip = "***";
  $port = $port;
  if ($check=@fsockopen($ip,$port,$ERROR_NO,$ERROR_STR,(float)0.5))
    {
      fclose($check);
      echo "ONLINE";
    }
  else
    {
      echo "OFFLINE";
    }
}


a ukazuje stále stav OFFLINE. Na server se přes herního klienta připojím, ale i když ho přeskenuju NMapem, ten hlási že je port zavřený. Nevíte kde je problém :-/ .. Díky
Jozin
Profil *
Ahoj,

kde to používáš? Je možné, že daný server (například webzdarma) má otevírání souborů z jiného serveru zakázáno. Pak By to nefungovalo, kvůli tomu, že je to zablokované a ty máš před příkazem fsockopen znak @, který potlačí výpis chyb... Pokud je to zakázané, tak to vždy skončí ve větvy else, ale už se nevypíše, jestli je to kvůli erroru, ale rovnou vypíšeš OFFLINE.

moje úprava zní:

function status($ip, $port){

  if ($check=@fsockopen($ip,$port,$ERROR_NO,$ERROR_STR,0.5))
    {
      fclose($check);
      echo "ONLINE";
    }
  else
    {
      if(isset($ERROR_NO))
      {
        echo $ERROR_NO . ": " . $ERROR_STR;
      } else
      }
       echo "OFFLINE";
      }
    
}


Jozin.
Jozin
Profil *
jejda ḿám tam chybky... místo } pod else má být { a za echo "OFFLINE" mají být dvě }
stibto
Profil *
mam to na vlastní virtuálce :-).. když tam dam port 80, ukáže to stav Online..
Jozin
Profil *
A na tvé virtuálce můžeš zjišťovat status venku?
stibto
Profil *
jojo, je to VPSka u Wedosu
Jozin
Profil *
Zkus su tedy vypsat $ERROR_STR, když si v offline... Možná bude nějaký error ;) Jinak nevím, čím by to mohlo být
stibto
Profil *
Tak to píše: "0: Failed to parse address "7777""
Jozin
Profil *
Nezadáváš ty špatnou/špatně adresu?
stibto
Profil *
Byla tam moje chyba, úpis v IPce, ale teď to píše: "111: Connection refused"

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: