C#Listen线程监听J2EE应用服务器指令强行关闭客户端C#Listen线程监听J2EE应用服务器指令强行关闭客户端
之前完成的一个以C#客户端通过Hessian调用Java服务的企业信息化项目,要求当web应用重新发布或者应用服务器重启时需告知所有客户端:由于什么原因(message),应用服务器将在多久(time)之后重启,请所有用户在多久之内做好数据保存工作,客户端将在多久之后强行退出。这里有2中实现方式:
1) 推的模式,服务器发消息通知所有客户端;
2) 拉的模式,客户端去监听服务器消息,服务器是否要重启;
相对来说2)的实现方式更简单,于是本案采用了2),为此需...
C#Listen线程监听J2EE应用服务器指令强行关闭客户端
之前完成的一个以C#客户端通过Hessian调用Java服务的企业信息化项目,要求当web应用重新发布或者应用服务器重启时需告知所有客户端:由于什么原因(message),应用服务器将在多久(time)之后重启,请所有用户在多久之内做好数据保存工作,客户端将在多久之后强行退出。这里有2中实现方式:
1) 推的模式,服务器发消息通知所有客户端;
2) 拉的模式,客户端去监听服务器消息,服务器是否要重启;
相对来说2)的实现方式更简单,于是本案采用了2),为此需要在客户端开设一个Listen线程,用以监听应用服务器是否要重启。通常来说C#客户端应用,从启动到进入主窗口作业区有3个过程:
1) program引导;
2) login窗体,登录处理;
3) 进入main窗体,进行各种具体应用操作;
为此,建议在login窗体登录成功后,就启动ListenThread线程。
public class ListenThread
{
private static int count = 5*60*1000;
//
public static void ForceClosed()
{
ForceClosed(count);
}
//private static int count = 0;
public static void ForceClosed(Object para)
{
count = (int)para;
boolean listen = true;
while(listen){
if(应用服务器是否要重启){
listen = false;
}
Thread.Sleep(count);
}
强行关闭客户端
}
}
///////////////
登录成功之后,启动ListenThread线程
//启动相关服务线程
Thread listenThread = new Thread(new ParameterizedThreadStart(ListenThread.ForceClosed));
listenThread.Start(5 * 60 * 1000);
为了友好起见,当ListenThread监听到应用服务器将要重启,执行强行关闭客户端操作的时候,最好能弹出一个对话框窗体(toplevel=true),显示下述信息:
1) 重启原因;
2) 数据保存提示;
3) 时间提示:多久之后客户端要强行关闭,多久之后用户可继续使用;
本文档为【C#Listen线程监听J2EE应用服务器指令强行关闭客户端】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。