workerman/stomp

STOMP是一个通讯协议。它是支持大多数消息队列如RabbitMQ、Apollo等。

项目地址:

https://github.com/walkor/stomp

安装:

  1. composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  2. composer require workerman/stomp

示例

  1. <?php
  2. use Workerman\Worker;
  3. use Workerman\Timer;
  4. use Workerman\Stomp\Client;
  5. use Workerman\RedisQueue\Client;
  6. require_once __DIR__ . '/vendor/autoload.php';
  7. $worker = new Worker();
  8. $worker->onWorkerStart = function(){
  9. $client = new Workerman\Stomp\Client('stomp://127.0.0.1:61613');
  10. $client->onConnect = function(Client $client) {
  11. // 订阅
  12. $client->subscribe('/topic/foo', function(Client $client, $data) {
  13. var_export($data);
  14. });
  15. };
  16. $client->onError = function ($e) {
  17. echo $e;
  18. };
  19. Timer::add(1, function () use ($client) {
  20. // 发布
  21. $client->send('/topic/foo', 'Hello Workerman STOMP');
  22. });
  23. $client->connect();
  24. };
  25. Worker::runAll();