public void Broadcast(SocketPlainTextEventArgs e) { if (_isBusy || _sessions.Count == 0) { return; } try { Byte[] messageBuffer = Encoding.UTF8.GetBytes(e.Content); var temp = e.Condition == null?_sessions.Where(n => n != null) : _sessions.Where(e.Condition); temp.AsParallel().ForAll(n => { if (n != null) { n.SendAsyc(messageBuffer); } }); } catch (Exception ex) { if (log.IsErrorEnabled) { log.Error("AsyncSocketServer Broadcast Exception:", ex); } } }
public void OnRequestReceived(object sender, SocketPlainTextEventArgs e) { Broadcast(e); }