/// <summary> /// 关闭一个客户端Socket,首先需要关闭Session /// </summary> /// <param name="client">目标Socket对象</param> /// <param name="exitType">客户端退出的类型</param> protected virtual void CloseClient(Socket client, Session.ExitType exitType) { //查找该客户端是否存在,如果不存在,抛出异常 Session closeClient = FindSession(client); closeClient.TypeOfExit = exitType; if (closeClient != null) { CloseSession(closeClient); } }
/// <summary> /// 关闭一个客户端Socket,首先需要关闭Session /// </summary> /// <param name="client">目标Socket对象</param> /// <param name="exitType">客户端退出的类型</param> protected virtual void CloseClient(string id, Session.ExitType exitType) { Debug.Assert(id != null); //查找该客户端是否存在,如果不存在,抛出异常 Session closeClient = FindSession(id); if (closeClient != null) { closeClient.TypeOfExit = exitType; CloseSession(closeClient); } }
/// <summary> /// 关闭一个客户端Socket,首先需要关闭Session /// </summary> /// <param name="client">目标Socket对象</param> /// <param name="exitType">客户端退出的类型</param> protected virtual void CloseClient(Socket client, Session.ExitType exitType) { Debug.Assert(client != null); //查找该客户端是否存在,如果不存在,抛出异常 Session closeClient = FindSession(client); closeClient.TypeOfExit = exitType; if (closeClient != null) { CloseSession(closeClient); } else { throw (new ApplicationException("需要关闭的Socket对象不存在")); } }