invia-de / stomp-php
PHP的Stomp支持
Requires
- php: 8.0.*|8.1.*|8.2.*
Requires (Dev)
- phpunit/phpunit: ^9.5
Replaces
- stomp-php/stomp-php: 5.0.*
This package is auto-updated.
Last update: 2024-09-07 09:59:11 UTC
README
本项目是一个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/
中找到配置/设置。)