Hi,
ich bin dabei für die kommende Teamspeak 3 Version eine Klasse zu programmieren. Bei Teamspeak 2 hatte ich keinerlei Probleme, doch bei TS3 finde ich beim Auslesen mehrer Zeilen einfach kein Ende.
Ich hoffe ihr habt in vergleichbaren Situationen ähnliche Erfahrungen gemacht oder helft mir einfach nur vom Schlau
Im folgenden ein Vergleich zwischen den beiden Versionen.
Auszug aus dem Terminal Client mit Verbindung zum Teamspeak 2 Server:
Dazugehöriger PHP Code
geht einwandfrei. Ich erhalte eine entsprechende Ausgabe, und das Script findet das Ende. Nun die neue Version.
Auszug aus dem Terminal Client mit Verbindung zum Teamspeak 3 Server:
In dieser Form findet er nicht das Ende und lädt sich zu Tode. Jedoch funktioiert das Auslesen einer einzelnen Zeile in Form von
sehr gut.
Daraus lässt sich meiner Ansicht nach schliessen, dass der Fehler in der Zeile
liegt. Und an dieser hab ich auch schon Stunden rumgebastelt und nach alternativen Lösungen gegooglet. Doch leider nicht fündig geworden.
Ich hoffe das jemad von euch eine Idee hat =)
Vielen Dank im Vorraus für das Lesen.
lG Flo
ich bin dabei für die kommende Teamspeak 3 Version eine Klasse zu programmieren. Bei Teamspeak 2 hatte ich keinerlei Probleme, doch bei TS3 finde ich beim Auslesen mehrer Zeilen einfach kein Ende.
Ich hoffe ihr habt in vergleichbaren Situationen ähnliche Erfahrungen gemacht oder helft mir einfach nur vom Schlau
Im folgenden ein Vergleich zwischen den beiden Versionen.
Auszug aus dem Terminal Client mit Verbindung zum Teamspeak 2 Server:
Code:
[TS]
ver
2.0.24.1 Linux Freeware
OK
Dazugehöriger PHP Code
PHP:
function connect($ip, $tcp, $timeout = 3) {
$this->__construct();
if(!$this->connection = @fsockopen($ip, $tcp, $errno, $errstr, $timeout)) {
return false;
} else {
fwrite($this->connection, "ver\n");
if (!is_resource($this->connection))
return false;
do {
$cmd = fgets($this->connection);
$hcmd .= $cmd;
} while ($cmd != "OK\r\n");
return $hcmd;
}
}
geht einwandfrei. Ich erhalte eine entsprechende Ausgabe, und das Script findet das Ende. Nun die neue Version.
Auszug aus dem Terminal Client mit Verbindung zum Teamspeak 3 Server:
Code:
TS3
version
version=3.0.0-alpha4-pre-2 build=9068 platform=Linux
error id=0 msg=ok
PHP:
function connect($ip, $tcp, $timeout = 3) {
$this->__construct();
if(!$this->connection = @fsockopen($ip, $tcp, $errno, $errstr, $timeout)) {
return false;
} else {
fwrite($this->connection, "version\n");
if (!is_resource($this->connection))
return false;
do {
$cmd = fgets($this->connection);
$hcmd .= $cmd;
} while ($cmd != "error id=0 msg=ok\r\n");
return $hcmd;
}
}
In dieser Form findet er nicht das Ende und lädt sich zu Tode. Jedoch funktioiert das Auslesen einer einzelnen Zeile in Form von
PHP:
function connect($ip, $tcp, $timeout = 3) {
$this->__construct();
if(!$this->connection = @fsockopen($ip, $tcp, $errno, $errstr, $timeout)) {
return false;
} else {
fwrite($this->connection, "version\n");
if (!is_resource($this->connection))
return false;
$cmd = fgets($this->connection);
return $cmd ;
}
}
sehr gut.
Daraus lässt sich meiner Ansicht nach schliessen, dass der Fehler in der Zeile
PHP:
} while ($cmd != "error id=0 msg=ok\r\n");
liegt. Und an dieser hab ich auch schon Stunden rumgebastelt und nach alternativen Lösungen gegooglet. Doch leider nicht fündig geworden.
Ich hoffe das jemad von euch eine Idee hat =)
Vielen Dank im Vorraus für das Lesen.
lG Flo