Exemple #1
0
    public static void AppNetSessionClosed(INetSession netSession, EVENTSESSIONPLACE eventPlace)
    {
        //if(msgStruct.dwPlayerName == 1)
        //{

        //}
    }
Exemple #2
0
 public static void AppNetSesssionConnected(INetSession netSession, EVENTSESSIONPLACE eventPlace, bool connectSuccess)
 {
     if (connectSuccess)
     {
         Console.WriteLine("success");
     }
     else
     {
         Console.WriteLine("failed");
     }
 }
Exemple #3
0
        // 关闭会话(会引发删除事件)
        private void CloseNetSession(NetSessionImpl netSession, EVENTSESSIONPLACE eventPlace)
        {
            if (netSession == null)
            {
                return;
            }

            // 修改状态
            NetSessionState sessionState = new NetSessionState();

            sessionState.Reset((Int32)NETSESSIONSTATE.netSessionStateMax);
            if (eventPlace == EVENTSESSIONPLACE.sendDelSession)
            {
                sessionState.sendUseState = (Int32)NETSESSIONSTATE.netSessionStateShutdown;
            }
            else if (eventPlace == EVENTSESSIONPLACE.rcvDelSession)
            {
                sessionState.rcvUseState = (Int32)NETSESSIONSTATE.netSessionStateShutdown;
            }
            else if (eventPlace == EVENTSESSIONPLACE.appDelSession)
            {
                sessionState.appUseState = (Int32)NETSESSIONSTATE.netSessionStateShutdown;
            }
            else
            {
                Trace.Assert(false, "Error eventPlace");
            }

            // 通知 moduleMgr
            NetSessionState retState = netSession.SetSessionState(ref sessionState);

            if (eventPlace == EVENTSESSIONPLACE.sendDelSession)
            {
                if (retState.appUseState == (Int32)NETSESSIONSTATE.netSessionStateUsing)
                {
                    AddNetEvent(netSession, ADDORDELSESSIONEVENT.delNetSession, eventPlace);
                }
            }
            else if (eventPlace == EVENTSESSIONPLACE.rcvDelSession)
            {
                if (retState.appUseState == (Int32)NETSESSIONSTATE.netSessionStateUsing)
                {
                    AddNetEvent(netSession, ADDORDELSESSIONEVENT.delNetSession, eventPlace);
                }
            }
            else
            {
                Trace.Assert(false, "Error eventPlace");
            }

            // 关闭 Socket
            netSession.CloseSocket();
        }
Exemple #4
0
        public NetSessionImpl       netSession;   // 网络会话

        // 重置操作
        public void Reset()
        {
            netSession = null;
            eventPlace = EVENTSESSIONPLACE.nullPlace;
            eventType  = ADDORDELSESSIONEVENT.nullOperation;
        }
Exemple #5
0
        // 添加网络会话
        public bool AddNetEvent(NetSessionImpl netSession, ADDORDELSESSIONEVENT eventType, EVENTSESSIONPLACE eventPlace)
        {
            if (netSession == null)
            {
                return(false);
            }

            AddOrDelSessionEvent sessionEvent = new AddOrDelSessionEvent();

            sessionEvent.netSession = netSession;
            sessionEvent.eventType  = eventType;
            sessionEvent.eventPlace = eventPlace;

            addOrDelEventList.AddElement(sessionEvent);

            return(true);
        }