系统结构大概是上图所示,大神来给个解决方案。
浏览器和webserver用web socket建立链接。
another server 写入数据库之后,可以使用消息系统发送一条消息到消息中心。
webserver订阅消息中心,接收到推送之后,查数据,并推送到webbrower
消息系统多得是,redis之类的都可以。支持发布订阅即可
@calvinK: 其实简单的处理可以让another server给webserver发一个http请求,但如何触发websocket对应的后台处理代码呢?
你这个要用websocket来实现啊
websocket我知道,这里主要问题是:1何时推送,2如何获取要推送的数据
@什麼江湖: 要么轮询数据库,要么Another Server直接把要推送的数据直接分发个webServer并保存数据库
dwr反向ajax轮询
能不能详细介绍一下?
@什麼江湖: 数据获取差不多就是那样,要么轮询数据库,要么插入的同时放入队列或者缓存中,dwr可以把java代码转成伪js函数,这样你前端可以像访问function一样直接访问java类
这个,貌似没啥问题吧?就最后一个webServer要推送信息到浏览器
看你实现咯。
推荐一个 Signalr 给你。.net这块应该算是最好用的了。开发也比较简单。
它有自己的策略,当检测到浏览器支持websocoket就会用websocoket,不能就会用长轮询。以前拿它实现过一个web端的客服工具。