wyrihaximus / ratchet-commands
为wyrihaximus/ratchet提供双向通信。
0.1.0
2015-01-22 16:05 UTC
Requires
- php: >=5.4.0
- composer/installers: *
- wyrihaximus/ratchet: ^0.1
Requires (Dev)
- predis/predis: 0.8.*
Suggests
- dnode/dnode: Send commands to the Ratchet service over simple pure PHP sockets
- predis/predis: Send commands to the Ratchet service over redis
- predis/predis-async: Send commands to the Ratchet service over redis
- react/zmq: Send commands to the Ratchet service over 0MQ
This package is auto-updated.
Last update: 2024-09-04 19:30:09 UTC
README
RatchetCommands 允许您的应用程序向 Ratchet 服务器实例发送消息。
入门指南
1. 要求
此插件依赖于以下插件和库,并在后续通过 composer 拉取
2. Composer
请确保您已安装并配置composer,并在引导过程中注册自动加载器,如此处所述。请确保您有一个 composer.json 文件,并在“required”部分添加以下内容。
composer require wyrihaximus/ratchet-commands
3. 设置插件
请确保在引导中加载 RatchetCommands
并正确设置 Ratchet
插件。
4. 构建命令
文件名:Lib/MessageQueue/Command/BroadcastCommand.php
class BroadcastCommand extends RatchetMessageQueueCommand { public function serialize() { return serialize(array( 'data' => $this->data, )); } public function unserialize($commandString) { $commandString = unserialize($commandString); $this->setData($commandString['data']); } public function setData($data) { $this->data = $data; } public function getData() { return $this->data; } // Send a broadcast on the channel `channel` with the data sent with the command // (This runs in the Ratchet instance.) public function execute($eventSubject) { $topics = $eventSubject->getTopics(); if (isset($topics['channel'])) { $topics['channel']->broadcast($this->getData()); } return true; } // Handle the response // (This runs in the application.) public function response($response) { if ($response) { // Handle success } else { // Handle failure } } }
确保在引导中 App::uses 该命令,以便 Ratchet 实例知道从何处加载。
5. 发送消息
App::uses('TransportProxy', 'RatchetCommands.Lib/MessageQueue/Transports'); $command = new BroadcastCommand(); $command->setData([ 'time' => time(), ]); TransportProxy::instance()->queueMessage($command);
插件许可证
(MIT 许可证)
版权所有 © 2012 - 2013 Cees-Jan Kiewiet
特此授予任何人免费获得此软件及其相关文档副本(“软件”)的权利,无限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许获得该软件的人执行上述操作,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是由于合同、侵权或其他方式引起的,无论是由于软件或软件的使用或其他方式与之有关。