• Как заставить работать Swoole сокет сервер в связке с RabbitMQ?

    @acerrusm Автор вопроса
    bleznec_ua, во 2ой версии добавили coroutine, больше разницы я не нашел.
  • Как заставить работать Swoole сокет сервер в связке с RabbitMQ?

    @acerrusm Автор вопроса
    jasonOk, там запускается простой swoole_server, а мне же нужен swoole_websocket_server. К тому же они работают с redis, а не с брокером.
    Или я уже туплю? :)
  • Как заставить работать Swoole сокет сервер в связке с RabbitMQ?

    @acerrusm Автор вопроса
    Александр Аксентьев, вы про какие пакеты из композера имеете в виду? Swoole устанавливается коммандой
    pecl install swoole
    В проекте ничего устанавливать не нужно, т.к. все ее методы доступны глобально в php.
  • Как заставить работать Swoole сокет сервер в связке с RabbitMQ?

    @acerrusm Автор вопроса
    Для тех кому интересно.

    Вообще это у меня первый опыт работы с сокетами. Но они мне нужны для того, что бы отсылать данные открытым соединениям. Например когда в календаре делается новая резервация, то нужно что бы календарь у всех пользователей в браузере он тоже обновлялся.

    Я начал рассматривать и пробовать разные варианты сокет серверов: socket.io, workerman, ratchet, swoole, хенд мейд. В итоге я остановился на Swoole - уж больно заманчиво, что написано на си, да и на хабре много положительного про нее читал. Минус конечно в том, что документация на мой взгляд не совсем полная, да и поиск в гугле по ней выдает кучу страниц на китайском.

    Далее углубляясь в тему и смотря разные доклады в youtube, я пришел к выводу, что сокеты должны работать в связке с брокером. Тут у меня были 2 варианта: ZeroMQ или RabbitMQ. ZeroMQ у меня запустился вместе с Ratchet, но у Ratchet есть одно но - он не поддерживает WAMP2.0 и я не могу подключится к серверу простой js функцией:
    ws = new WebSocket("ws://192.168.10.10:2345");

    Да и мне нафиг не нужны pubsub и тем более библиотека Autobahn.js, мне нужно тупо доставлять данные в браузеры.

    Далее, что касается ZeroMQ, то похоже проект php binding уже никем не поддерживается.

    В итоге я остановился на Swoole и RabbitMQ.