From 75448045cfe70054c8f4bae1bcfaf9bb0f70d330 Mon Sep 17 00:00:00 2001 From: Moritz helios Rudert Date: Wed, 1 Jun 2011 12:13:39 +0200 Subject: fixes --- services/jabberserver.php | 188 ++++++++++++++++++---------------------------- 1 file changed, 75 insertions(+), 113 deletions(-) (limited to 'services/jabberserver.php') diff --git a/services/jabberserver.php b/services/jabberserver.php index 8a80b35c..94ef3a8b 100755 --- a/services/jabberserver.php +++ b/services/jabberserver.php @@ -1,113 +1,75 @@ -Connect() && $jabber->SendAuth())) - die("Couldn't connect to Jabber Server."); -} - - -/****************************************************************************************************/ -// INIT socked -/****************************************************************************************************/ -echo "INIT socked\n"; - //http://de3.php.net/manual/de/function.socket-listen.php -// Create a UDP socket -$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP) or die('Could not create socked ('.socket_strerror(socket_last_error()). ')'); -// Bind the socket to an address/port -socket_bind($sock, SERVER_ADDRESS, SERVER_PORT) or die('Could not bind to address ('.socket_strerror(socket_last_error()). ')'); -// Setzt Nonbock Mode -socket_set_nonblock($sock); - - -/****************************************************************************************************/ -// Loop continuos -/****************************************************************************************************/ -$RUNNING = TRUE; -while( $RUNNING ) -{ - if( @socket_recvfrom($sock, $data, 65535, 0, $ip, $port)) - { - //daten empfangen - $data = substr($data,0, strlen($data)-1); //ENTER entfernen - echo "\n". gmdate("Y-m-d H:i:s", time()). "\tresive from $ip:$port ". strlen($data). " byte data ($data)\n"; - PackedAnalyser( $data); - } - - usleep(100000); // 100ms delay keeps the doctor away -} // end while - -//disconnect jabber -if( !DEBUG) - $jabber->Disconnect(); - -// Close the master sockets -socket_close($sock); - -/****************************************************************************************************/ -/****************************************** MAIN END ************************************************/ -/****************************************************************************************************/ - - -/****************************************************************************************************/ -//***** function PackedAnalyser -/****************************************************************************************************/ -function PackedAnalyser( $data ) -{ - GLOBAL $jabber, $RUNNING; - // init array - $matches = array(); - - //#message - if( preg_match( "/^#(message) ([^ ]+) (.+)/i", $data, $matches ) ) - { - if( $matches[2]=="" || $matches[3]=="") - { - // Wrong syntax - echo "\t\t\t\t#messaage parameter fail\n"; - } - else - { - // Whisper - if( !DEBUG) - $jabber->SendMessage($value, "normal", NULL, array("body" => $message, "subject" => "Error in Pentabarf"), NULL); - else - echo "\t\t\t\tmessage to:\"". $matches[2]. "\" Text: \"". $matches[3]. "\"\n"; - } - } - elseif( preg_match( "/^#quit/i", $data, $matches ) ) - { - if( DEBUG) - { - echo "\t\t\t\tSystem Shutdown\n\n"; - $RUNNING = FALSE; - } - } - else - { - echo "\t\t\t\tcommand not found\n\n"; - } -} - -?> +Connect() && $jabber->SendAuth())) + die("Couldn't connect to Jabber Server."); + } + + echo "INIT socked\n"; + + // Create a UDP socket + $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP) or die('Could not create socked (' . socket_strerror(socket_last_error()) . ')'); + + // Bind the socket to an address/port + socket_bind($sock, SERVER_ADDRESS, SERVER_PORT) or die('Could not bind to address (' . socket_strerror(socket_last_error()) . ')'); + + // Setzt Nonbock Mode + socket_set_nonblock($sock); + + $RUNNING = true; + + while($RUNNING) { + if(@socket_recvfrom($sock, $data, 65535, 0, $ip, $port)) { + // daten empfangen + $data = substr($data, 0, strlen($data)-1); //ENTER entfernen + echo "\n". gmdate("Y-m-d H:i:s", time()). "\tresive from $ip:$port ". strlen($data). " byte data ($data)\n"; + PackedAnalyser( $data); + } + + usleep(100000); // 100ms delay keeps the doctor away + } // end while + + // disconnect jabber + if(!DEBUG) + $jabber->Disconnect(); + + // Close the master sockets + socket_close($sock); + + function PackedAnalyser($data) { + global $jabber, $RUNNING; + // init array + $matches = array(); + + //#message + if(preg_match("/^#(message) ([^ ]+) (.+)/i", $data, $matches)) { + if($matches[2]=="" || $matches[3]=="") + echo "\t\t\t\t#messaage parameter fail\n"; + else { + // Whisper + if(!DEBUG) + $jabber->SendMessage($value, "normal", NULL, array("body" => $message, "subject" => "Error in Pentabarf"), NULL); + else + echo "\t\t\t\tmessage to:\"". $matches[2]. "\" Text: \"". $matches[3]. "\"\n"; + } + } elseif(preg_match("/^#quit/i", $data, $matches)) { + if(DEBUG) { + echo "\t\t\t\tSystem Shutdown\n\n"; + $RUNNING = false; + } + } else + echo "\t\t\t\tcommand not found\n\n"; + } +?> -- cgit v1.2.3-54-g00ecf