VariusRain
@VariusRain
музыкант-программист-конструктор

Как правильно подключиться к websocket серверу Laravel?

Доброго всем дня!

Пытаюсь подключиться к сокет серверу ларавеля. Использую для этого пакет PusherClient
Код следующий:
public void Connect()
        {
            Pusher pusher = new Pusher("bar", new PusherOptions { Encrypted= true, Host= "localhost:6001" });
            
            pusher.ConnectionStateChanged += StateChanged;
            pusher.Error += ErrorHandler;
            pusher.Connected += BindEvents;

            try
            {
                pusher.ConnectAsync().ConfigureAwait(false);
                // pusher.State will be ConnectionState.Connected
            }
            catch (Exception error)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(error.ToString());
                Console.ForegroundColor = ConsoleColor.White;
            }
        }

В результате получаю ошибку таймаута
Pusher error: PusherClient.OperationTimeoutException: Waiting for 'pusher:connection_established' has timed out after 27,00 second(s).

В консоли, где запущен вебсокет сервер тишина. Если подключаться с аналогичными настройками но из другого стека (NodeJS) то всё подключается корректно.

Прошу подсказки, как это сделать правильнее?
Заранее благодарю!
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
VariusRain
@VariusRain Автор вопроса
музыкант-программист-конструктор
Решение оказалось очень простым:
1. Добавить аутентификатор
2. Убедиться в правильности параметра Encrypted. У меня он, как оказалось, должен быть фолс
Pusher pusher = new Pusher("bar", new PusherOptions { 
                Encrypted= false,
                Host= "localhost:6001",
                Authorizer = new HttpAuthorizer("localhost:8000/websockets-dashboard/auth")
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы