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); } } }
private void ReceiveToClients(ToClients toClientsMessage) { foreach (var toClientsMessageReceiver in _receiveToClients) { toClientsMessageReceiver.Value(toClientsMessage); } }
public void ToClients(ToClients toClients) { if (_messagingSettings.UseLocalPipeline) { ReceiveToClients(toClients); } else if (!string.IsNullOrWhiteSpace(_toClientsEndPoint)) { PostMessage(_toClientsEndPoint, _toClientsSerializer.Serialize(toClients)); } }