日期:2014-05-18  浏览次数:20474 次

关于B/S中实现"实时"的问题
现在做一个视频监控系统,当某一个摄像头有报警时,需要及时通知客户端。
我原本打算的做法是:
1.将报警信息保存到数据库
2.客户端通过ajax,每隔1s读取一次数据库来获取报警信息

问题是:打开的客户端越多,请求就越多,这样很容易造成服务器down掉

请问各位有没有好地解决方案?

------解决方案--------------------
这个估计难 只能考虑把时间设置长一些~
------解决方案--------------------
你可以在网页里面设置一个内存变量,如Application,Cache等,在数据库修改时更新此变量。ajax只读取此变量即可。这样快的多
------解决方案--------------------
不会donw的
------解决方案--------------------
ajax读内存变量怎么读?是读客户端的还是服务器端的?有参考吗?
劳烦孟子高人多多指点^^
------解决方案--------------------
1.using AjaxPro Or Ajax ;webConfig 配置
2.server端提供一个方法
[标记为Ajax..方法]
DataTable GetWatchInfo()
{
DataTable dataTable = null;
// 如果缓存中有直接使用, 没有先取到数据放入缓存在使用
if(Cache[ "你保存的数据 "] == null)
Cache[ "你保存的数据 "] = GetXxxx();

return Cache[ "你保存的数据 "] as DataTable;
}

3.前台调用分析数据
------解决方案--------------------
Application_onload 表示客户端连接了..只针对这个客户端进行发送数据.这样就不会down了..