Beispiel -- Beispiel für Net_Server
Einen einfachen Daemon erzeugen
Das folgende Beispiel zeigt, wie sie einen
'Forking' Server aufsetzten, der Daten empfängt
und zurück an den Benutzer sendet.
Beispiel 49-1. Ein einfacher Echo-Server #!/usr/local/bin/php
<?php
// Basis-Klasse des Servers
require_once 'Net/Server.php';
// Basis-Klasse des Handlers
require_once 'Net/Server/Handler.php';
/**
* Einfacher Echo-Server.
*
* Dieser Code sollte eigentlich in einer separaten Datei stehen
*/
class Net_Server_Handler_Talkback extends Net_Server_Handler
{
/**
* Wenn ein Benutzer Daten sendet, schicken
* wir sie Ihm zurück
*
* @access public
* @param integer $clientId
* @param string $data
*/
function onReceiveData( $clientId = 0, $data = "" )
{
$this->_server->sendData( $clientId, "Du sagtest: $data" );
}
}
// Ende Handler-Klasse
// Einen neuen Server erzeugen, der neue Prozesse forkt
$server = &Net_Server::create('fork', 'localhost', 9090);
$handler = &new Net_Server_Handler_Talkback;
// Unsere obige Handler-Klasse anmelden
$server->setCallbackObject($handler);
// Server starten
$server->start();
?> |
|