Example #1
0
 protected function initEvent()
 {
     $dispatcher = Event\EventDispatcher::getDispatcher();
     $dispatcher->addListener("connect", function () {
         $endpoint = $this->getRequest()->getSession()->get('endpoint');
         $this->writeChunkEnd(ProtocolBuilder::Connect($endpoint));
     }, array($this->connection->getSessionId()));
     $dispatcher->addListener("server.emit", function (Event\MessageEvent $messageEvent) {
         $message = $messageEvent->getMessage();
         if ($this->connection->isConnectionClose()) {
             $this->connection->queuePendingEmitEvent("server.emit", $message);
             return;
         }
         $endpoint = $this->getRequest()->getSession()->get('endpoint', $messageEvent->getEndpoint());
         $this->writeChunkEnd(ProtocolBuilder::Event(array('name' => $message['event'], 'args' => array($message['message'])), $endpoint));
     }, array($this->connection->getSessionId(), $this->getRequest()->getSession()->get('endpoint')));
 }