Я делаю простое чат приложение на 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);
}
}
}