Socket Timeout *heul*
RFZ
- php
0 Sönke Tesch0 RFZ
Moin,
ich hab ein echt geniales und kompliziertes Script gebastelt, es zeigt den aktuellen Status eines BattlefieldServer inkl. Regeln und alle Mitspieler usw...
Jetzt hab ich aber das Problem dass der Script einfach abkackt, wenn der Server nicht online ist! Ich hab beim Socketaufruf den Timeout gesetzt, mit socket_set_timeout und sogar mit set_time_limit! Aber absolut nichts funktioniert!
Dieser Script wäre echt wichtig, für eine mittlerweile sehr grosse ClanSite, aber so kann ich ihn nicht einbauen!
Ich seh nicht ein dass ich diesen (und schon andere) Script wegwerfen muss, nur weil PHP nicht seine Arbeit macht...
Was zum teufel kann ich da noch machen?
cu RFZ
Jetzt hab ich aber das Problem dass der Script einfach abkackt, wenn der Server nicht online ist! Ich hab beim Socketaufruf den Timeout gesetzt, mit socket_set_timeout und sogar mit set_time_limit! Aber absolut nichts funktioniert!
Mir fallen da zwei Möglichkeiten ein, wie man eine Netzwerkverbindung aufbaut, soll jetzt jemand raten, welche Du benutzt hast? Und wie? Zum Thema "abkacken" fällt mir auch eine Menge ein, in aller erster Linie aber, daß Du vielleicht mal ein wenig an Deiner Ausdrucksweise feilen solltest, zumindest so, daß man Dich ohne Glaskugel, Kaffeesatz und Krähenfüße versteht.
Gruß,
soenk.e
Ja, sorry, mich regt das hald echt auf...
Da ich UDP Commands senden muss, hab ich's mit fsockopen() gemacht:
$fp = fsockopen("udp://$ip", $port, $errno, $errstr, 2);
if (!$fp)
{
echo "<!--- ERROR: $errno - $errstr ---> \n";
}
else
{
fwrite($fp,"********");
$got = 0;
$max = 0;
$done =0;
$do = 1;
socket_set_timeout($fp,2);
while($do)
{
$max++;
$str = fread($fp, 1);
$buffer .= $str;
if(strpos($buffer,"******") > 1) $done++;
if($done == 1) $do = false;
}
fclose($fp);
}
cu RFZ