wyrihaximus/ratchet-commands

为wyrihaximus/ratchet提供双向通信。

安装量: 61,535

依赖者: 1

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

公开问题: 7

类型:cakephp-plugin

0.1.0 2015-01-22 16:05 UTC

This package is auto-updated.

Last update: 2024-09-04 19:30:09 UTC


README

Build Status Latest Stable Version Total Downloads Coverage Status Bitdeli Badge

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

特此授予任何人免费获得此软件及其相关文档副本(“软件”)的权利,无限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许获得该软件的人执行上述操作,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是由于合同、侵权或其他方式引起的,无论是由于软件或软件的使用或其他方式与之有关。