Я пытаюсь использовать Stomp-php (https://github.com/stomp-php/stomp-php) для получения данных из Kontakt.io API (https://developer.kontakt.io/backend/le/monitoring/) но я борюсь за брокерскую часть. В некоторых документах говорится об использовании брокера (например, activeMQ) с stomp для его работы, но я не совсем понимаю, почему.
Используя stomp в моем интерфейсе, такая вещь не нужна.
Есть идеи, как это работает? Спасибо
На всякий случай мой код:
// make a connection
$stomp = new Stomp\StatefulStomp(
new Stomp\Client('wss://ovs.kontakt.io:9090/stream?apiKey=key')
);
// send a message to the queue
//$message = new Stomp\Transport\Message(null, array('api-key','key'));
// subscribe to the queue
$stomp->subscribe('/presence/stream/gw');
// receive a message from the queue
$msg = $stomp->read();
// do what you want with the message
if ($msg != null) {
echo "Received message with body '$msg->body'\n";
// mark the message as received in the queue
$stomp->ack($msg);
} else {
echo "Failed to receive a message\n";
}
$stomp->unsubscribe();
Большая часть документации о STOMP будет относиться к брокеру, потому что в большинстве ситуаций он отвечает за прием и отправку сообщений от клиентов. Я не очень знаком с Kontact.io, но чтение документации, на которую вы ссылаетесь, указывает на то, что сам Kontact.io выступает в качестве «посредника» в вашем случае использования. Клиент STOMP подключается к конечной точке, предоставляемой сервисом Kontact.io.
Других решений пока нет …