webForumDet fria alternativet

Problem med fsockopen

PHP

3 svar · 236 visningar · startad av lepatrik

Medlem sedan maj 20032 inlägg
Frågan#1

Jag har problemet att jag kör scriptet

 $noc_cs = fsockopen("udp://mail.berusad.com", 27015, $errno, $errstr, 5);

för att avgöra om cs-servern är igång på hosten mail.berusad.nu port 27015. Problmet är väl att den här koden verkar fungera lite för bra då resten av scriptet:

 if(!$noc_cs) {
  $noc_cs = "<font color=\"red\">inte igång</font>";
 } else {
  fclose($noc_cs);
  $noc_cs = "<font color=\"green\">igång</font>";
 }

alltid lyckas connecta och den säger att servern alltid är igång. Detta även trots att nmap tydliger visar att udp porten 27015 på remote host är closed.

Någon som har någon ide vad som är tokigt?
Tack för hjälp!

-Patrik Solberg

Medlem sedan juni 20001 251 inlägg
#2

Du behöver antagligen pinga servern för att avgöra om den är igång eller ej.

Ett exempel på hur man gör detta hittar du här:
http://www.webforum.nu/showthread.php?s=&threadid=75844

Medlem sedan maj 20032 inlägg
#3

jag vill alltså se om CS servern är igång på maskinen. inte om maskinen i sig själv är igång, trort för övrigt jag har confat så firewallen är lite sur när det gäller icmp.

Medlem sedan juni 20001 251 inlägg
#4
<?php
$fp = fsockopen("udp://mail.berusad.com", 27015, $errno, $errstr, 5);
    if (!$fp) {
        $noc_cs = "<font color=\"red\">inte igång</font>";
       }
       else {
        fputs($fp, "ÿÿÿÿinfostring");
        $str = fread($fp, 220);
        if (!$str) {
        $noc_cs = "<font color=\"red\">inte igång</font>";
        }
        else {
        $noc_cs = "<font color=\"green\">igång</font>";
        }

}
?>
261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)