Can Ratchet WebSocket Server peut-il envoyer un message au client lui-même?
Je veux utiliser une clé à Cliquet (http://socketo.me) pour la connexion permanente entre les Applications de l'iPhone et le Serveur. Et j'ai besoin d'échanger des données entre les applications et le serveur.
À partir de cet exemple (http://socketo.me/docs/hello-world) j'ai découvert que j'ai une fonction onMessage qui sera appelée lorsque l'Application d'envoyer un massage pour le serveur et le serveur peut envoyer une réponse à l'Application.
Mais le serveur doit aussi avoir une capacité d'envoyer les données à l'application sans l'obtention de données à partir de l'app. Par exemple, la connexion entre l'application et le serveur a été établi. Quelque chose s'est passé sur le serveur et nous avons besoin d'envoyer un nouveau les données à l'application. Comment puis-je faire et est-il possible?
La question principale est de savoir comment puis-je envoyer des données à l'Application sur le serveur?
Merci pour toute aide.
source d'informationauteur lexa
Vous devez vous connecter pour publier un commentaire.
Qui est tout à fait possible. Vous avez besoin de communiquer avec le serveur WebSocket processus en quelque sorte. Vous pouvez le faire en utilisant une forme de transmission de message, il RPC ou un message de la file d'attente.
Ratchet lui-même est basé sur les Réagissent boucle d'événements. Cela signifie que toute forme de communication avec Cliquet doit être intégrée à l'événement en boucle. Sur la Réagir la page d'accueil vous pouvez voir quelques-uns des intégrations qui existent déjà:
Dans le Cliquet de la documentation, il est un tutoriel sur la façon d'utiliser Réagir/ZMQ dans le but de pousser des messages à partir de n'importe où à votre serveur WebSocket.
Cliquet met également en œuvre WAMPqui comprend PubSub. Ainsi, vos clients peuvent s'abonner à certains sujets, et vous pouvez avoir d'autres clients (que l'exécution de votre infrastructure principale) de publier ces sujets. Vous pourriez par exemple, elles ont un AutobahnPython client basé sur la publication via Cliquet à un AutobahnAndroid en fonction de l'application mobile ou AutobahnJS basé sur HTML5 client.
J'ai eu exactement la même question et voici ce que j'ai fait.
Basé sur la bonjour tout le monde, tutorielj'ai remplacé SplObjectStorage avec un tableau. Avant de présenter mes modifications, je tiens à faire remarquer que si vous avez suivi le tutoriel et compris, la seule chose qui vous empêche d'arriver à cette solution vous-même n'est probablement pas savoir ce SplObjectStorage est.
De cours pour le rendre vraiment utile, vous pouvez également ajouter une connexion DB, et de les stocker/récupérer ces resourceIds.