Example #1
0
        /// <summary>
        /// Socket关闭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void OnSocketDisconnect(object sender, SocketDisconnectEventArgs<Session> e)
        {
            lock (sessions)
            {
                var s = e.Session.Data;

                sessions.Remove(s);

                //  解除互相的引用关系
                s.Client = null;
                e.Session.Data = null;
            }
        }
Example #2
0
        private void OnSocketDisconnect(object sender, SocketDisconnectEventArgs <NetState> e)
        {
            NetState netState = e.Session.Data;

            if (m_netStateManager.GetNetState(netState.Serial) != null)
            {
                //  如果在管理器里有,则说明netstate已经被业务逻辑初始化过
                //  所以需要通知业务逻辑进行处理,否则直接清理数据后退出
                mainTask.AppentdTask(RunTaskNetStateDisconnect, netState);
            }
            else
            {
                netState.ExitWorld();
                netState.Dispose();
            }
        }
Example #3
0
        /// <summary>
        /// Socket关闭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void OnSocketDisconnect(object sender, SocketDisconnectEventArgs <Session> e)
        {
            var s = e.Session.Data;

            if (s.IsLogin)
            {
                sessions.Remove(s);
            }
            else
            {
                nologinSessions.Remove(s);
            }

            //  解除互相的引用关系
            s.Client       = null;
            e.Session.Data = null;
        }
        void NetSocket_SocketDisconnect(object sender, SocketDisconnectEventArgs <NetState> e)
        {
            //m_netStateManager.InternalRemoveNetState(netState.Serial);
            //netState.ExitWorld();

            //  通知业务逻辑有客户端连接上来可以做一些初始化
            //  或者判断是否允许本次连接
            var tempEV = NetStateDisconnect;

            if (tempEV != null)
            {
                var arg = new NetStateDisconnectEventArgs
                {
                    NetState = NetState,
                };
                tempEV(this, arg);
            }

            //NetState.Dispose();
        }
Example #5
0
 void server_SocketDisconnect(object sender, SocketDisconnectEventArgs <object> e)
 {
     isDisconnect = true;
 }
Example #6
0
 private void OnSocketDisconnect(object sender, SocketDisconnectEventArgs<NetState> e)
 {
     NetState netState = e.Session.Data;
     if (m_netStateManager.GetNetState(netState.Serial) != null)
     {
         //  如果在管理器里有,则说明netstate已经被业务逻辑初始化过
         //  所以需要通知业务逻辑进行处理,否则直接清理数据后退出
         mainTask.AppentdTask(RunTaskNetStateDisconnect, netState);
     }
     else
     {
         netState.ExitWorld();
         netState.Dispose();
     }
 }
Example #7
0
        /// <summary>
        /// Socket关闭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void OnSocketDisconnect(object sender, SocketDisconnectEventArgs<Session> e)
        {
            var s = e.Session.Data;

            if (s.IsLogin)
                sessions.Remove(s);
            else
                nologinSessions.Remove(s);

            //  解除互相的引用关系
            s.Client = null;
            e.Session.Data = null;
        }
 void server_SocketDisconnect(object sender, SocketDisconnectEventArgs<object> e)
 {
     isDisconnect = true;
 }
Example #9
0
 void m_server_SocketDisconnect(object sender, SocketDisconnectEventArgs <NetData> e)
 {
     e.Session.Data = null;
     m_connectCount--;
 }
Example #10
0
 void m_Socket_SocketDisconnect(object sender, SocketDisconnectEventArgs<NetState> e)
 {
     m_Running = false;
 }
Example #11
0
 void m_server_SocketDisconnect(object sender, SocketDisconnectEventArgs<NetData> e)
 {
     e.Session.Data = null;
     m_connectCount --;
 }