Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Versendet mit Hilfe des Programmes "AnDenNutzer" Nachrichten an den
- * Benutzer, die dieser sofort auf seinem Bildschirm angezeigt bekommt.
- *
- * @param $host str Hostname / IP
- * @param $message str Nachricht (keine Leerzeilen!)
- * @param $password str
- * Ein Passwort. Vorsicht: Übertragung erfolgt im Klartext -- keine
- * wichtigen Passwörter verwenden. Das Passwort muss als Checksumme in
- * den Client-Einstellungen liegen.
- * @param $addProperties array
- * Ermöglicht die Übergabe von zusätzlichen Einstellungen an das Programm.
- * Nicht alle werden in diesem Modus ausgewertet. Auf diese Weise lässt
- * sich mit Angabe von z.B. new array("duration" => 5) die Anzahl der
- * Durchläufe einstellen.
- * @param $port int
- * Gibt einen Port an. Der Standardport ist 5970 (bis 5983 ist frei).
- * @throws Exception
- * Wenn ein Fehler auftritt oder der Client aus irgend einem Grund die
- * Verbindung verweigert.
- */
- function sendMessage($host = "127.0.0.1", $message = "Test", $password = "testwort", $addProperties = array(), $port = 5970) {
- $errno = 0;
- $errstr = null;
- $conn = fsockopen($host, $port, $errno, $errstr);
- if(!$conn) {
- throw new Exception("Konnte keine Verbindung zu ".$host." aufbauen -- Fehler ".$errno.": ".$errstr);
- }
- fwrite($conn, $password."\n");
- fflush($conn);
- $answer = fgets($conn);
- if($answer != "OK\n") {
- fclose($conn);
- throw new Exception("Der Client hat das Passwort nicht akzeptiert: ".$answer);
- }
- fwrite($conn, $message."\n");
- foreach($addProperties as $key => $value) {
- fwrite($conn, $key."=".$value."\n");
- }
- fwrite($conn, "OK\n");
- fflush($conn);
- $answer = fgets($conn);
- if($answer != "OK\n") {
- throw new Exception("Der Client hat den Eingabetext nicht akzeptiert: ".$answer);
- }
- fflush($conn);
- fclose($conn);
- }
- header("Content-Type: text/plain; charset=UTF-8");
- try {
- sendMessage();
- echo "TERM";
- } catch(Exception $exception) {
- print_r($exception);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement