Задать вопрос
Annikangl
@Annikangl
Backend developer (PHP)

Как подключиться к каналу по Websocket?

Я делаю простое чат приложение на Xamarin (клиент) и Laravel (сервер)
Настроил вебсокеты на сервере с помощью библиотеки laravel websockets и pusher

Вот мой event NewMessage
class NewMessage implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $message;

    public function __construct($message)
    {
        $this->message = $message;
    }

    public function broadcastOn()
    {
        return new Channel('chat-room');
    }

    public function broadcastWith(): array
    {
        return [
            "message" => $this->message
        ];
    }
}

Я зарегистрировал канал chat-room
Broadcast::channel('chat-room', function ($message) {
    return true;
});

Я успешно могу подключиться со своего клиента по сокетам, используя библиотеку WebSocketSharp (C#)
Однако, мне приходит в метод onMessage только это
data: "{"socket_id":"249965922.74383293","activity_timeout":30}"

Уведомляя меня о том , что я подключился к серверу, а мне надо дальше подлюкчится к chat-room, но в документации к библиотеке не описано как это делать. Возможно ли это ?
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Threading.Tasks;
using WebSocketSharp;

namespace ConsoleApp1
{
    class Program
    {
        static  void Main(string[] args)
        {
            Con1();
        }

        private static async Task Con1()
        {
            using (WebSocketSharp.WebSocket web = new WebSocketSharp.WebSocket("ws://192.168.0.105:6001/app/ABCDEFG"))
            {
                web.OnMessage += WsOnMEssage;
                web.Connect();
                web.Ping();
                Console.ReadKey();
            }
        }

        private static void WsOnMEssage(object sender, MessageEventArgs e)
        {
            Console.WriteLine(e.Data);
        }
    }
}
  • Вопрос задан
  • 150 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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