private void ReceiveToClientsMessage(ToClients toClients)
 {
     if (_cancellationTokenSource.IsCancellationRequested)
     {
         return;
     }
     if (!toClients.ConnectionIds.Any())
     {
         return;
     }
     if (toClients.MessageType == 0 && toClients.MessageText == "close")
     {
         foreach (var connectionId in toClients.ConnectionIds)
         {
             if (!_connections.TryGetValue(connectionId, out var connection))
             {
                 return;
             }
             connection.Send(Encoding.UTF8.GetBytes("Goodbye.\r\n"));
             connection.Close(true);
         }
     }
     else if (toClients.MessageType == 1)
     {
         var bytes = Encoding.UTF8.GetBytes(toClients.MessageText);
         foreach (var connectionId in toClients.ConnectionIds)
         {
             if (!_connections.TryGetValue(connectionId, out var connection))
             {
                 return;
             }
             connection.Send(bytes);
         }
     }
 }
Example #2
0
 private void ReceiveToClients(ToClients toClientsMessage)
 {
     foreach (var toClientsMessageReceiver in _receiveToClients)
     {
         toClientsMessageReceiver.Value(toClientsMessage);
     }
 }
Example #3
0
 public void ToClients(ToClients toClients)
 {
     if (_messagingSettings.UseLocalPipeline)
     {
         ReceiveToClients(toClients);
     }
     else if (!string.IsNullOrWhiteSpace(_toClientsEndPoint))
     {
         PostMessage(_toClientsEndPoint, _toClientsSerializer.Serialize(toClients));
     }
 }