承接 react/stomp 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

react/stomp

Composer 安装命令:

composer require react/stomp

包简介

STOMP bindings for React.

README 文档

README

STOMP bindings for React.

STOMP is a messaging protocol. It is supported by most message queue brokers, such as RabbitMQ, Apollo and many others.

A message queue is used for asynchronous inter-process communication. This can be useful for workers, general long-running tasks, or communication between long-running daemons.

Build Status Code Climate

Install

The recommended way to install react/stomp is through composer.

{
    "require": {
        "react/stomp": "0.1.*"
    }
}

Example

You can interact with a STOMP server by using the React\Stomp\Client.

<?php

$loop = React\EventLoop\Factory::create();
$factory = new React\Stomp\Factory($loop);
$client = $factory->createClient(array('vhost' => '/', 'login' => 'guest', 'passcode' => 'guest'));

$client
    ->connect()
    ->then(function ($client) use ($loop) {
        $client->subscribe('/topic/foo', function ($frame) {
            echo "Message received: {$frame->body}\n";
        });

        $loop->addPeriodicTimer(1, function () use ($client) {
            $client->send('/topic/foo', 'le message');
        });
    });

$loop->run();

Options

  • host: Host to connect to, defaults to 127.0.0.1.
  • port: Port to connect to, defaults to 61613 (rabbitmq's stomp plugin).
  • vhost: Virtual host, defaults to /.
  • login: Login user name, defaults to guest.
  • passcode: Login passcode, defaults to guest.

Acknowledgement

When subscribing with the subscribe method, messages are considered acknowledged as soon as they are sent by the server (ack header is set to 'auto').

You can subscribe with a manual acknowledgement by using subscribeWithAck (see SUBSCRIBE in the STOMP spec for available ack mode values).

You will get a React\Stomp\AckResolver as second argument of the callback to acknowledge or not the message :

$client->subscribeWithAck('/topic/foo', 'client', function ($frame, $ackResolver) {
    if ($problem) {
        $ackResolver->nack();
    } else {
        $ackResolver->ack();
    }
});

Todo

  • Support nul bytes in frame body
  • Heart-beating
  • Consuming ACKs
  • Transactions
  • Streaming frame bodies (using stream API)

Tests

To run the test suite, you need PHPUnit.

$ phpunit

License

MIT, see LICENSE.

Resources

统计信息

  • 总下载量: 93.98k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 114
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 1

GitHub 信息

  • Stars: 114
  • Watchers: 18
  • Forks: 42
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2012-08-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固