//private static readonly object m_lock02 = new object(); /// <summary> /// 用户退出请求 /// </summary> /// <param name="_obj"></param> /// <param name="_sendback"></param> public static void fns_clientExit(string _obj, I_sendBackClient _sendback) { //lock (m_lock02) //{ I_sendBackClient t_send = _sendback; N_msg_userExit t_userout = JsonMapper.ToObject <N_msg_userExit>(_obj); if (t_userout != null) { new Task(() => { //做些退出处理 I_RemoveClient t_removeClient = S_ClientSocket.M_instance; if (t_removeClient != null) { t_removeClient.fni_remove(t_userout.m_username); I_checkIsLoaded t_checkIsLoaded = S_sql.M_instance; t_checkIsLoaded.fni_remove(t_userout.m_username); } }).Start(); } //} }
/// <summary> /// 创建数据库连接 /// </summary> //private static A_connectTodata m_dataBase = new N_connectTodata(); //private static readonly object m_locker01 = new object(); /// <summary> /// 查询表,用户名,和密码,返回登陆是否成功 /// </summary> /// <param name="_sendback"></param> public static void fns_canLoad(string _name, string _pass, string _macID, I_sendBackClient _sendback) { //lock (m_locker01) //{ string t_name = _name; string t_pass = _pass; I_sendBackClient t_send = _sendback; //查询数据库 string t_cmd; Task <string> t_getCmd = new Task <string>(() => { return(S_makeCmd.fns_readCmd2("xian_user_1", "studentID", t_name, "password", _pass)); }); t_getCmd.Start(); t_cmd = t_getCmd.Result; //Console.WriteLine("cmd:" + t_cmd); //反馈结果 N_msg_canLoad t_canload = null; //检查数据库中有没有账号信息 if (S_sql.M_instance.fn_read(t_cmd)) { //这里还差限制一个账号只能登陆一次 I_checkIsLoaded t_checkIsLoaded = S_sql.M_instance; if (!t_checkIsLoaded.fni_check(t_name)) { //没有发现登陆信息 if (t_checkIsLoaded.fni_addIn(_macID, t_name)) { //加入登陆队列成功 t_canload = new N_msg_canLoad(true); } else { t_canload = new N_msg_canLoad(false); } } else //登陆失败 { t_canload = new N_msg_canLoad(false); } //t_canload = new N_msg_canLoad(true); } else { t_canload = new N_msg_canLoad(false); } if (t_canload != null) { if (t_send != null) { t_send.fn_sendback(JsonMapper.ToJson(t_canload)); } } //} }
/// <summary> /// 学员退出登录 /// </summary> /// <param name="_obj"></param> /// <param name="_sendback"></param> public static void fns_studentExit(string _obj, I_sendBackClient _sendback) { I_sendBackClient t_send = _sendback; N_msg_studentExit t_userout = JsonMapper.ToObject <N_msg_studentExit>(_obj); if (t_userout != null) { new Task(() => { //做些学员退出处理 //I_RemoveClient t_removeClient = S_ClientSocket.M_instance; //if (t_removeClient != null) //{ // t_removeClient.fni_remove(t_userout.m_username); // I_checkIsLoaded t_checkIsLoaded = S_sql.M_instance; // t_checkIsLoaded.fni_remove(t_userout.m_username); //} I_checkIsLoaded t_checkIsLoaded = S_sql.M_instance; t_checkIsLoaded.fni_remove(t_userout.m_username); }).Start(); } }