использовать socketio и redis на нескольких серверах

Я пытаюсь использовать socketio на нескольких серверах, целую неделю пробовал разные решения, на разных платформах, и все они не работают.

для моего проекта я использую балансировку нагрузки nginx с iphash, чтобы клиенты оставались на одном сервере, а для трансляции на все сокеты я использую адаптер redis socketio.

Я также пробовал эти проекты, чтобы увидеть, работает ли он, и понять, как он работает, но этот предполагаемый готовый к использованию проект тоже не работает.

https://github.com/h4t0n/socket.io-redis-appsample

и этот

https://github.com/evilstudios/chat-example-cluster

Я пробовал с Redis на Windows и на Linux, но никакой разницы.

Я читал по разным вопросам, что нам нужно использовать «транспорты: ['websocket']», некоторые люди говорили, что это нужно делать на клиентах, а другие на клиентах и ​​серверах, я пробовал оба решения, и они не работают.

Я не получаю ошибок или предупреждений, события просто не отправляются в сокеты на других серверах.


person Bilel Boulifa    schedule 04.01.2017    source источник


Ответы (1)


посмотрите, это было из-за несовместимости между версиями или что-то в этом роде. Я обновил socket.io и он работает

Я начал разработку своего приложения около 6 месяцев назад, в то время последней версией была 1.4.8, поэтому сейчас я использую эту версию, обновил ее до 1.7.2, и она работает.

Что касается socket.io-redis, я установил его только на этой неделе, поэтому использовал последнюю версию 2.0.1.

похоже, между 1.4.8 и 1.7.2 что-то важное изменилось.

person Bilel Boulifa    schedule 04.01.2017