Hejsa!
Jeg er igang med at lave et script der skal kunne hente infomation'er fra en SOF2 server, det går også meget fint og har fået lavet noget der henter det. Men nu har jeg et problem, at det er forskelligt hvor mange spillere der er på serveren og derfor er længden af svaret ikke altid lige langt...
Så jeg ville spørge om der var nogle der havde en ide til hvordan jeg fandt længden af svaret. Så jeg hele tiden vil kunne få alle spillerne!
Her er min kode:
<?
$resultat = '';
//Hvad ip-hostnavn og port skal der bruges:
$serverip = "213.221.175.37";
$serverport = 20101;
//Forbinder serveren
$fp = fsockopen("udp://".$serverip, $serverport, &$errno, &$errstr, 5);
if(!$fp) $resultat = $resultat."$errstr ($errno)<br>\\n";
else {
//Sender en query om at få spillere på serveren
$send="\\377\\377\\377\\377getstatus".chr(0);
fwrite($fp,$send);
//$tmp=fgets($fp,5);
$text=""; $count=0; $last = "no";
//Går svaret igennem
do {
$antal++;
$tmp=fgets($fp,1);
if (ord($tmp) == 92 OR ($count >= 74 AND ord($tmp) == 10)) {
$count++; $text.="<br>"; $antal = 0;
} else {
$text = $text.$tmp;
}
} while ($count<99);
echo $text;
//echo fgets($fp,1);
//Lukker forbindelsen til serveren
fclose($fp);
};
mysql_close;
?>
Håber i kan hjælpe hurtigt
har meget brug for det. Har prøvet noget med feof($fp), men kunne ikke får det til at virke
---
Hilsen Anders
http://anders.java-script.dk