Example #1
0
        /// <summary>
        /// 关闭并清理网络管理器
        /// </summary>
        public override void Shutdown()
        {
            foreach (KeyValuePair <string, NetworkChannel> networkChannel in m_NetworkChannels)
            {
                NetworkChannel nc = networkChannel.Value;
                nc.NetworkChannelConnected     -= OnNetworkChannelConnected;
                nc.NetworkChannelClosed        -= OnNetworkChannelClosed;
                nc.NetworkChannelMissHeartBeat -= OnNetworkChannelMissHeartBeat;
                nc.NetworkChannelError         -= OnNetworkChannelError;
                nc.NetworkChannelCustomError   -= OnNetworkChannelCustomError;
                nc.Shutdown();
            }

            m_NetworkChannels.Clear();
        }
Example #2
0
        /// <summary>
        /// 销毁网络频道
        /// </summary>
        /// <param name="name">网络频道名称</param>
        /// <returns>是否销毁网络频道成功</returns>
        public bool DestroyNetworkChannel(string name)
        {
            NetworkChannel networkChannel = null;

            if (m_NetworkChannels.TryGetValue(name ?? string.Empty, out networkChannel))
            {
                networkChannel.NetworkChannelConnected     -= OnNetworkChannelConnected;
                networkChannel.NetworkChannelClosed        -= OnNetworkChannelClosed;
                networkChannel.NetworkChannelMissHeartBeat -= OnNetworkChannelMissHeartBeat;
                networkChannel.NetworkChannelError         -= OnNetworkChannelError;
                networkChannel.NetworkChannelCustomError   -= OnNetworkChannelCustomError;
                networkChannel.Shutdown();
                return(m_NetworkChannels.Remove(name));
            }

            return(false);
        }