источник событий — Подписаться на ServerSentEvents в переполнении стека

У меня есть конечная точка, которая публикует события, я хочу, чтобы мой php API подписывался на события и вызывал ответы. Является ли это возможным? Я знаю, что в nodejs я могу использовать библиотеку Eventsource для подписки на конечную точку. Что эквивалентно в PHP?

1

Решение

SSE — это хороший простой текстовый протокол, поэтому я бы использовал либо функции сокетов PHP, либо функции curl. Инструмент командной строки curl — отличный способ проверить канал SSE. Я думаю, вам может понадобиться curl_multi_select() а также curl_multi_getcontent() функции, даже если просто выборка из одного источника данных. (Если вы используете низкоуровневые функции сокетов PHP напрямую, вам потребуется поддержка чанков.)

В качестве альтернативы библиотека Guzzle может быть библиотекой более высокого уровня. Я могу видеть в документации есть опция потока: http://docs.guzzlephp.org/en/latest/request-options.html#stream Я не пробовал этого, поэтому мне было бы интересно узнать, хорошо ли это работает для вас.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]