2016-05-12 2 views
1

Возможно ли транслировать или передавать данные в браузер и перехватывать его с помощью javascript для его обработки, используя ReactPHP без Ratchet?Возможно ли транслировать с помощью ReactPHP?

У меня есть периодический тимер на цикле событий, и иногда ему нужно передавать или излучать пользователей, подключенных сокетом. Я видел, что есть сокет класса, а в примерах на странице проекта React github он был создан, но не используется в веб-потоке, только на netcat. Можно ли заставить его работать в браузерах, таких как socket.IO или Ratchet?

Завод и подключение работают нормально, я просто не знаю, как связать сокет для отправки/получения данных на сервер с циклом события.

ответ

1

Вещание это не супер-специальная функция.

Прежде всего, вам необходимо сохранить все пользовательские соединения в глобальной области. Например, у вас есть класс TestServer, он может содержать атрибуты соединений (тип массива). В методе запустите, вы пишете цикл.

Например, это ваше событие соединение

$server->on('connection', function(ConnectionInterface $conn) { 
    $this->connections[] = $conn; 
}); 

И написать метод

public function broadcast($message) { 
    foreach($this->connections as $conn) { 
      $conn->write($message); 
    } 
} 

Внимание! Вы должны написать код, чтобы удалить отсоединение, если пользователь отключится, и если вам нужно, вы можете написать логику по темам.