invia-de/stomp-php

PHP的Stomp支持

资助包维护!
jmglsn
staabm

5.1.0 2023-02-07 06:29 UTC

README

Build Status

本项目是一个PHP Stomp客户端,除了完全实现Stomp协议外,还提供了一些ActiveMQ和Apollo特定的工具,这些工具可以使您使用PHP进行消息传递变得更加容易。

鸣谢

这个库最初由Dejan Bosanac开发。我们感谢您的工作,并且很高兴继续这项工作。

版本选择

  • 对于新项目,您应该使用版本4.*,该版本需要php-5.6。对php-5.6的支持在版本5.*中结束。
  • 对于运行旧版PHP版本的项目,您可以使用版本4.2.*用于php-5.5,以及版本3.*用于php-5.3,请考虑更新PHP。
  • 对于运行fusesource/stomp-php@2.x客户端的项目,您可以使用版本2.2.2
  • 所有版本高于2.x的版本都将与fusesource/stomp-php不兼容。(https://github.com/dejanb/stomp-php。)

安装

composer require stomp-php/stomp-php

示例

您可以在我们的示例项目https://github.com/stomp-php/stomp-php-examples中找到不同的使用教程。

连接探测

很难确定套接字连接是否仍然有效,Stomp允许我们使用心跳来测试客户端和服务器是否准备好发送消息。

您应该使用\Stomp\Network\Observer\ServerAliveObserver\Stomp\Network\Observer\HeartbeatEmitter来接收或发送心跳。这样做将确保您的客户端能够及时检测到断开连接。请查看https://github.com/stomp-php/stomp-php-examples中的示例代码和一些额外的注释。

替换fusesource/stomp-php

如果您之前使用了fusesource/stomp-php,您可以使用我们的2.x版本。

    "require": {
        "stomp-php/stomp-php": "2.*"
    }

贡献

我们使用PSR2进行编码,请使用我们预定义的pre_commit.sh钩子。

测试

要运行测试,您首先需要通过composer获取测试套件的依赖项

$ php composer.phar install

功能测试套件分为三个代理版本。目前它在ActiveMq(端口61010)、Apollo(61020)、RabbitMq(61030)、Artemis(61040)上运行。Apollo应该配置为使用admin:password,RabbitMq使用guest:guest。而ActiveMq必须配置为不使用任何登录。

您可以通过运行travisci/bin/start.sh来设置所有代理。通过运行travisci/bin/stop.sh来停止它们。(需要Docker。)

如果您只想运行功能通用测试,请确保Apollo已配置。可以通过运行./travisci/bin/apollo-mq.sh 1.7.1来实现基本设置。(如果您想创建本地运行的代理,可以在travisci/docker/apollo-mq/中找到配置/设置。)

许可证

Apache许可证版本2.0