예제 #1
0
 public void StopDecrypting()
 {
     IsRunning = false;
     foreach (var stateObject in Sockets)
     {
         try
         {
             if (stateObject == null)
             {
                 continue;
             }
             if (stateObject.Socket != null)
             {
                 stateObject.Socket.Shutdown(SocketShutdown.Both);
                 stateObject.Socket.Close();
                 stateObject.Socket.Dispose();
                 stateObject.Socket = null;
             }
             lock (stateObject.SocketLock)
             {
                 stateObject.Connections = new List <NetworkConnection>();
             }
         }
         catch (Exception ex)
         {
             RaiseException(Logger, ex);
         }
     }
     Sockets.Clear();
     ServerConnections.Clear();
     DroppedConnections.Clear();
 }