专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > GIS

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

发布时间:2010-06-06 17:14:25 文章来源:www.iduyao.cn 采编人员:星星草
刷新终端登陆列表


//************************************
//刷新终端登陆列表
//************************************
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下线并发下线指令
continue;
}
ListInsert(user_info, t_update);
}
}
}



------解决方案--------------------
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下线并发下线指令
continue;
}
ListInsert(user_info, t_update);
}
}
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: