예제 #1
0
<?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);
            }
        }
예제 #2
0
<?php

/**
 * This file is used for the tests, but can also serve as an example of a WebSocket\Server.
 */
$GLOBALS['PHPUNIT_COVERAGE_DATA_DIRECTORY'] = dirname(dirname(__FILE__)) . '/build/tmp';
require dirname(dirname(__FILE__)) . '/vendor/autoload.php';
use WebSocket\Server;
// Setting timeout to 200 seconds to make time for all tests and manual runs.
$server = new Server(array('timeout' => 200));
echo $server->getPort(), "\n";
while ($connection = $server->accept()) {
    $test_id = $server->getPath();
    $test_id = substr($test_id, 1);
    if (function_exists('xdebug_get_code_coverage')) {
        xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE);
    }
    if (class_exists('PHPUnit_Extensions_SeleniumCommon_ExitHandler')) {
        PHPUnit_Extensions_SeleniumCommon_ExitHandler::init();
    }
    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";
                save_coverage_data($test_id);
                exit;
            }