Ratchet WebSocket Server可以向客户端发送消息吗?

lex*_*exa 18 php sockets websocket ratchet

我想使用Ratchet(http://socketo.me)在iPhone Apps和Server之间建立永久连接.我需要在应用程序和服务器之间交换数据.

从这个例子(http://socketo.me/docs/hello-world)我发现我有一个函数onMessage,当应用程序向服务器发送按摩并且服务器可以发送响应时将调用该函数 应用程序.

但是服务器还必须能够在不从应用程序获取数据的情况下将数据发送到应用程序.例如,已建立应用程序和服务器之间的连接.服务器上发生了一些事情,我们需要向应用程序发送新数据.我怎么能这样做,是否可能?

主要问题是如何从服务器向应用程序发送数据?

感谢您的任何帮助.

igo*_*orw 13

这确实是可能的.您需要以某种方式与WebSocket服务器进程通信.您可以通过使用某种形式的消息传递来做到这一点,无论是RPC还是消息队列.

Ratchet本身基于React事件循环.这意味着与Ratchet的任何形式的通信都必须与该事件循环集成.在React主页上,您可以看到已存在的一些集成:

在Ratchet文档中有一个关于如何使用React/ZMQ以便将消息从任何地方推送到WebSocket服务器的教程.


obe*_*tet 6

Ratchet还实现了WAMP,其中包括PubSub.因此,您的客户可以订阅某些主题,您可以让其他客户端(在您的后端基础架构上运行)发布到这些主题.你可以将基于AutobahnPython的客户端通过Ratchet发布到基于AutobahnAndroid的移动应用程序或基于AutobahnJS的HTML5客户端.