日期:2014-05-19  浏览次数:20465 次

b/s能不能实现推模式
做一个b/s的实时监控系统,当数据库发生改变时,服务器会通知IE,让IE自动刷新,而不是由IE隔一定的时间去访问服务器,即所谓的推模式,现在能否实现阿?用什么技术?谢谢

------解决方案--------------------
不能。b/s是请求/应答模式,没有请求就没有应答。而且b/s是无连接模式,s无法知道b是否还在线。
------解决方案--------------------
Ivy_zheng(最后一只恐龙) 正解
------解决方案--------------------
web程序不能提供这样的服务的,你如果做一个win服务,也是在服务器上面执行的
------解决方案--------------------
有一种contenttype可以实现,不过那是netscape里的。
号称IE7里也可以支持,不知是真是假
------解决方案--------------------
推模式在CS结构中应用的较多,BS结构里不太适合用推的模式
------解决方案--------------------
实时监控,只有时时刷新了,禁用缓存.
------解决方案--------------------
不可能的事情,因服务器是绝对不能对客户端主动发送任何东西的,HTTP协议所限定了。只可能是用轮询模拟推。
------解决方案--------------------
好象不太可能的,以前听说过有人实现了,不过看看现在的基本上还是传统的定时获取数据的模式,可能这本身和Http有关系吧

------解决方案--------------------
及其小规模的mis才会考虑。
------解决方案--------------------
那就超越了现阶段的WEB。不能。
------解决方案--------------------
You can try ActiveX .
------解决方案--------------------
shrinerain is right. ActiveX.
------解决方案--------------------
http://www.hzqbbc.com/blog/arch/2006/02/server_push_blo.html

这里提到了我在上面说的netscape的server-push模型
------解决方案--------------------
对于B/S架构的应用程序,做到实时,似乎不容易啊
楼上的兄弟提到了采用activeX的方式,但是不建议采用
其一,activeX需要在客户端进行一些设置,部署难度较大。
其二,如果采用.net开发,集成activeX比较困难
------解决方案--------------------
我来傻想一下:
如果服务器能向客户端实现所谓的“推”模式,那么它就必须要事先知道客户端的信息。如果客户端没向服务器发送过任何请求,服务器怎么知道有你这个客户端呢。当然,如果客户端曾经向服务端发送过请求,服务端确实可以把这个客户端记录下来,然后就可以向其使用推模式,这样做即使能够实现(暂且不谈论http的请求-响应模式),其后果就是如果客户端成千上万个,那服务器马上崩溃。

所以,如果你要实现类似的功能,而且又要实时,那么使用c/s而不是b/s