28 lines
723 B
C#
28 lines
723 B
C#
using System.Text.Json;
|
|
using RelayServer.Models.Rtc;
|
|
using WebSocketSharp.Server;
|
|
|
|
namespace RelayServer.Services.Rtc;
|
|
|
|
public static class RtcNotificationService
|
|
{
|
|
public static WebSocketServer? Server { get; set; }
|
|
|
|
public static void BroadcastToChannel(RtcNotificationMessage message)
|
|
{
|
|
if (Server is null)
|
|
return;
|
|
|
|
var host = Server.WebSocketServices["/"];
|
|
if (host is null)
|
|
return;
|
|
|
|
var json = JsonSerializer.Serialize(message);
|
|
var sessionIds = RtcChannelPresenceService.GetSessionsInChannel(message.ChannelId);
|
|
|
|
foreach (var sessionId in sessionIds)
|
|
{
|
|
host.Sessions.SendTo(json, sessionId);
|
|
}
|
|
}
|
|
} |