首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

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

2012-02-06 
刷新终端登陆列表//************************************//刷新终端登陆列表//*************************

刷新终端登陆列表


//************************************
//刷新终端登陆列表
//************************************
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);
}
}
}

热点排行