2016-05-12 1 views
1

Est-il possible de diffuser ou d'émettre des données vers le navigateur et de les capturer avec javascript pour les traiter en conséquence, en utilisant ReactPHP sans Ratchet?Possible de diffuser en utilisant ReactPHP?

J'ai un periodicTimer sur la boucle d'événements et parfois il a besoin de diffuser ou d'émettre aux utilisateurs connectés par un socket. J'ai vu qu'il y avait une socket de classe et dans les exemples sur la page du projet React github, elle a été instanciée mais pas utilisée dans le flux web, uniquement sur netcat. Est-il possible de le faire fonctionner nativement sur des navigateurs comme socket.IO ou Ratchet?

L'usine et la connexion fonctionne bien, je ne sais pas comment lier socket pour envoyer/recevoir des données au serveur avec boucle d'événements.

Répondre

1

La diffusion de cette fonction n'est pas super-spéciale.

Tout d'abord, vous devez enregistrer toutes les connexions utilisateur dans une portée globale. Par exemple vous avez un serveur de test de classe, il peut contenir l'attribut connexions (tableau de type). Dans la méthode exécutez vous écrivez boucle.

Par exemple ce votre événement de connexion

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

et méthode écrire

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

Attention! Vous devez écrire du code pour supprimer la déconnexion si l'utilisateur se déconnecte, et si vous en avez besoin, vous pouvez écrire une logique sur les sujets.