示例#1
0
        public GameSocketManager Stop()
        {
            CoreManager.ServerCore.ConsoleManager.Notice("Game Socket Manager", "Stopping...");
            _listeningSocket.Close();
            _actionThread.Join();
            CoreManager.ServerCore.ConsoleManager.Notice("Game Socket Manager", "Stopped!");

            return(this);
        }
示例#2
0
        /// <summary>
        /// Closes and clears the listening socket and all connected sockets, without causing exceptions.
        /// </summary>
        private void ResetListeningSocket()
        {
            // Close all child sockets
            foreach (KeyValuePair <ServerChildTcpSocket, ChildSocketContext> socket in ChildSockets)
            {
                socket.Key.Close();
            }
            ChildSockets.Clear();

            // Close the listening socket
            ListeningSocket.Close();
            ListeningSocket = null;
        }