Exemplo n.º 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     if (!class_exists('Event')) {
         dl('event.so');
     }
     $listen = $input->getOption('listen');
     if ($listen === null) {
         $listen = 8080;
     }
     $this->socket = new SocketIO();
     $this->socket->on('addme', function (Event\MessageEvent $messageEvent) {
         return $this->onAddme($messageEvent);
     })->on('msg', function (Event\MessageEvent $messageEvent) {
         return $this->onMsg($messageEvent);
     });
     $this->socket->listen($listen)->onConnect(function () {
     })->onRequest('/brocast', function ($connection, \EventHttpRequest $request) {
         if ($request->getCommand() == \EventHttpRequest::CMD_POST) {
             if (($data = json_decode($request->getInputBuffer()->read(1024), true)) !== NULL) {
                 $response = $this->onBrocast($data);
             } else {
                 $response = new Response('fail', Response::HTTP_NOT_FOUND);
             }
         } else {
             $response = new Response('fail', Response::HTTP_NOT_FOUND);
         }
         $connection->sendResponse($response);
     })->dispatch();
 }
Exemplo n.º 2
0
<?php

$loader = (include '../autoload.php.dist');
$loader->add('PHPSocketIO', __DIR__ . '/../src');
use PHPSocketIO\SocketIO;
use PHPSocketIO\Connection;
use PHPSocketIO\Response\Response;
use PHPSocketIO\Event;
$socketio = new SocketIO();
$chat = $socketio->getSockets()->on('addme', function (Event\MessageEvent $messageEvent) use(&$chat) {
    $messageEvent->getConnection()->emit('update', array('msg' => "Welcome {$messageEvent->getMessage()}"));
    $chat->emit('update', array('msg' => "{$messageEvent->getMessage()} is coming."));
})->on('msg', function (Event\MessageEvent $messageEvent) use(&$chat) {
    $message = $messageEvent->getMessage();
    $chat->emit('update', $message);
});
$socketio->listen(8080)->onConnect(function (Connection $connection) use($socketio) {
    list($host, $port) = $connection->getRemote();
    echo "connected {$host}:{$port}\n";
})->onRequest('/', function ($connection, \EventHttpRequest $request) {
    $response = new Response(file_get_contents(__DIR__ . '/web/index.html'));
    $response->setContentType('text/html', 'UTF-8');
    $connection->sendResponse($response);
})->onRequest('/socket.io.js', function ($connection, \EventHttpRequest $request) {
    $response = new Response(file_get_contents(__DIR__ . '/web/socket.io.js'));
    $response->setContentType('text/html', 'UTF-8');
    $connection->sendResponse($response);
})->dispatch();