Results 1 to 10 of 10
Thread: Auf TS mit PHP zugreifen
-
25-04-2005, 13:15 #1
-= TeamSpeak User =-
- Join Date
- Apr 2005
- Location
- Ger
- Posts
- 4
Auf TS mit PHP zugreifen
Also ich würde gerne mit PHP auf meinen TS Server zugreifen und so speziele Server starten stoppen etc.(Nein ich möchte nicht das TS Webinterface nutzen!). Problem an der Sache ist nur, dass die von PHP gesendeten im TS nicht ausgeführt werden.(Ja ein Socket ist offen und verbunden und es gab keine Errormeldungen) Es werden also alle Daten übertragen aber nichts passiert.
Muss man die übertragenen Daten mit einem bestimmten Zeichen abschließen o.ä.?
-
25-04-2005, 15:40 #2
Poste doch mal das Script? Verbindest du dich per Telnet?
p.s.: Eigendlich gehören solchen dinge ins Webpost / Scripts Forum.
MfG,
Michael
-
25-04-2005, 15:45 #3
-= TeamSpeak User =-
- Join Date
- Apr 2005
- Location
- Ger
- Posts
- 4
Das ist mein Scrip, es verbindet sich und führt angeblich die Befehle aus, aber der Server reagiert halt nicht drauf.PHP Code:$ts_socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($ts_socket == FALSE) {
echo "Error1:".socket_strerror(socket_last_error($ts_socket));
} else {
$ts_socket_connectet = socket_connect($ts_socket, localhost, 10000);
if ($ts_socket_connectet == FALSE) {
echo "Error2:".socket_strerror(socket_last_error($ts_socket));
} else {
$msg = "slogin superadmin meinpw\n";
$e = socket_write($ts_socket, $msg, strlen($msg));
$msg = "serverstart " . $server_id . "\n";
$e = socket_write($ts_socket, $msg, strlen($msg));
print socket_strerror(socket_last_error());
}
}
socket_close($ts_socket);
Wenn ich mich mit Telnet verbinde geht alles wunderbar.
-
25-04-2005, 17:20 #4
-= TeamSpeak Fanatic =-
- Join Date
- Nov 2002
- Location
- Germany / Kempen
- Posts
- 1,844
Ich kenne mich mit solchen Sachen nicht besonders gut aus, aber könnte es sein, dass du etwas vergessen hast? Wenn ich via Telnet verbinde, dann drücke ich bei erfolgter Verbindung ersteinmal Enter, da die erste Eingabe nie akzeptiert wird. Erst die Zweite Eingabe wird akzeptiert. Ich weiß nicht wie sich das via PHP verhält, aber du könntest es ja mal ausprobieren.
-
25-04-2005, 17:30 #5
-= TeamSpeak Fanatic =-
- Join Date
- Jan 2003
- Location
- Germany
- Posts
- 4,140
Du mußt auch warten bis ein "OK" oder "ERR" zurückkommt. Erst dann weißt du, daß du einen neuen Befehl absetzen kannst.
-
25-04-2005, 22:02 #6
-= TeamSpeak User =-
- Join Date
- Apr 2005
- Location
- Ger
- Posts
- 4
Ja gibt es denn eine Möglichkeit die Befehle im Hintergrund laufen zu lassen?
-
26-04-2005, 04:57 #7
-= TeamSpeak Fanatic =-
- Join Date
- Jan 2003
- Location
- Germany
- Posts
- 4,140
Meinst du nebenläufig? Nein.
-
26-04-2005, 08:48 #8
-= TeamSpeak User =-
- Join Date
- Apr 2005
- Location
- Ger
- Posts
- 4
Mh k, mit nem Delay geht es. Aber es wäre halt noch ne Ecke schöner wenn es Nebenläufig ginge. Aber danke schonmal.
-
26-04-2005, 10:06 #9
-= TeamSpeak Fanatic =-
- Join Date
- Jan 2003
- Location
- Germany
- Posts
- 4,140
Delay ist eine schlechte Idee. Warte doch einfach auf ein "OK" bzw. "ERR", das ist viel sicherer.
-
26-04-2005, 14:49 #10
-= TeamSpeak Fanatic =-
- Join Date
- Oct 2004
- Location
- Germany
- Posts
- 1,710
Vielleicht hilfts dir ja:
Ich benutze folgende Funktionen (leicht abgewandelt) um mit einem TS-Server zu kommunizieren, wobei $sCon meine Socketverbindung ist die ich vorher mit fsockopen($ip, $tcp); zum TS-Server geöffnet habe:
PHP Code:function _call($sCall = "") {
global $sCon;
if (!is_resource($sCon))
return false;
$sCall = chop($sCall);
fwrite($sCon, "$sCall\n");
$sRead = '';
do {
$cRead = fgets($sCon);
$sRead .= $cRead;
} while ($cRead != "[TS]\r\n" && $cRead != "OK\r\n" && strtoupper(substr($cRead, 0, 5)) != "ERROR");
return $sRead;
}
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Similar Threads
-
»»» FAQ - TS 2.x Server
By Michael in forum [TeamSpeak 2] Server SupportReplies: 158Last Post: 29-12-2009, 23:20 -
Step by Step - TS-Stats für die HP mit PHP
By MW_Crow in forum [TeamSpeak Classic] General QuestionsReplies: 5Last Post: 06-07-2002, 02:25


Reply With Quote
