stomp-php/stomp-php

PHP 的 Stomp 支持

5.1.0 2023-06-19 17:34 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.53.* 版本用于 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 License 版本 2.0