欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

刷新终端登陆列表解决办法

更新时间: 2014-01-05 02:58:28 责任编辑: Author_N1

 

刷新终端登陆列表


        //************************************
        //刷新终端登陆列表
        //************************************
        public void RefreshList()
        {
            uint i, iDtuAmount;
            string str = "";
            long t_update, t_now;
            StringBuilder mess = new StringBuilder(1000);
            GPRS_USER_INFO user_info = new GPRS_USER_INFO();
            listView1.Items.Clear();//清空终端登陆列表
            str = str + 0x00 + 0x00 + 0x00;
            iDtuAmount = Gps.get_max_user_amount();//开发包函数,返回中心最大连接DTU数量
            for (i = 0; i < iDtuAmount; i++)
            {
                Gps.get_user_at(i, ref user_info);//开发包函数,通过DTU顺序号获取DTU信息
                if (user_info.m_status == 1)
                {
                    t_update = (long)(user_info.m_update_time[0])
                                + (long)(user_info.m_update_time[1]) * 256
                                + (long)(user_info.m_update_time[2]) * 256 * 256
                                + (long)(user_info.m_update_time[3]) * 256 * 256 * 256
                                + 3600 * 8;
                    t_now = (long)Math.Round((DateTime.Now.ToOADate() - 25569) * 3600 * 24);
                    if ((t_now - t_update) > 1 * 60)//判断DTU最后注册时间与现在时间的差值是否超过设置的超时时间
                    { //若超时则认为该DTU不在线,调用开发包函数使其下线
                        Gps.do_close_one_user2(user_info.m_userid, mess);//开发包函数,使某个DTU下线并发下线指令
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:58:28
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/16830/
本文WWW.DOC100.NET DOC100.NET版权所有。