コード例 #1
0
    //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();
        }


        //}
    }
コード例 #2
0
    /// <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));
            }
        }


        //}
    }
コード例 #3
0
    /// <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();
        }
    }