<?php # RUN FROM COMMAND LINE!! require_once '../../websocket-php/lib/Base.php'; require_once '../../websocket-php/lib/Server.php'; require_once '../../websocket-php/lib/Exception.php'; require_once '../../websocket-php/lib/ConnectionException.php'; use WebSocket\Server; define('TIMEOUT', 200); // Setting timeout to 200 seconds to make time for all tests and manual runs. $server = new Server(array('timeout' => TIMEOUT)); echo "Server started with timeout: ", TIMEOUT, "ms — at ", date("c"); echo "\n", "port: ", $server->getPort(), "\n"; while ($connection = $server->accept()) { $test_id = $server->getPath(); $test_id = substr($test_id, 1); try { while (1) { $message = $server->receive(); echo "Received {$message}\n\n"; if ($message === 'exit') { echo microtime(true), " Client told me to quit. Bye bye.\n"; echo microtime(true), " Close response: ", $server->close(), "\n"; echo microtime(true), " Close status: ", $server->getCloseStatus(), "\n"; exit; } elseif ($auth = $server->getHeader('Authorization')) { $server->send("{$auth} - {$message}", 'text', false); } else { $server->send($message, 'text', false); } }