public static void AppNetSessionClosed(INetSession netSession, EVENTSESSIONPLACE eventPlace) { //if(msgStruct.dwPlayerName == 1) //{ //} }
public static void AppNetSesssionConnected(INetSession netSession, EVENTSESSIONPLACE eventPlace, bool connectSuccess) { if (connectSuccess) { Console.WriteLine("success"); } else { Console.WriteLine("failed"); } }
// 关闭会话(会引发删除事件) 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(); }
public NetSessionImpl netSession; // 网络会话 // 重置操作 public void Reset() { netSession = null; eventPlace = EVENTSESSIONPLACE.nullPlace; eventType = ADDORDELSESSIONEVENT.nullOperation; }
// 添加网络会话 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); }