Beispiel #1
0
 public void BroadcastPacket(IPacket packet, PacketSession exceptSession = null)
 {
     _lock.DoReadLock(() =>
     {
         var targetSessions = exceptSession != null ? _sessions.Where(e => e != exceptSession) : _sessions;
         foreach (var session in targetSessions)
         {
             session.Send(packet);
         }
     });
 }
Beispiel #2
0
 public void EnumerateSockets(Action <IEnumerable <Socket> > actor)
 {
     _lock.DoReadLock(() => actor(_sockets.Keys));
 }