} }); $sender->process = $process; } } } public $clientId = 0; public function onClientConnected(SocketServer $server, SocketClient $newClient) { $newClient->buffer = ""; $newClient->process = false; $newClient->verified = false; $newClient->id = $this->clientId++; } public function onClientDisconnected(SocketServer $server, SocketClient $client) { if ($client->process) { $client->process->stop(); $client->process = false; } } public function onLogMessage(SocketServer $server, $message) { } } global $params; $params = @json_decode($_SERVER['argv'][2], true) ?: array(); $listener = new Listener(); $webSocket = new SocketServer(@$params['ip'] ?: '127.0.0.1'); $webSocket->addListener($listener); $webSocket->start();
<?php include 'SocketServer.php'; class ProxyListener extends SocketListener { public function processData($client, $data) { $client->broadcast($data); } } $server = new SocketServer(); $id1 = $server->open(8002); $id2 = $server->open(8003); $listener = new ProxyListener(); $server->addListener($listener); // Run the server until killed while ($server->run()) { }
<?php include 'SocketServer.php'; class ProxyListener extends SocketListener { protected $target; public function processData($client, $data) { $this->server->broadcast($data, $this->target); } public function setTarget($target) { $this->target = $target; } } $server = new SocketServer(); $id1 = $server->open(8002); $id2 = $server->open(8003); // Instantiate our listener and attach it to the server $listener = new ProxyListener(); $server->addListener($listener, $id1); $listener->setTarget($id2); $listener = new ProxyListener(); $server->addListener($listener, $id2); $listener->setTarget($id1); // Run the server until killed while ($server->run()) { }