服务器推送技术
来源:互联网 发布:淘宝pc端怎么同步手机 编辑:程序博客网 时间:2024/03/29 23:37
BS架构的系统有客户端数据即时更新需求的问题,前面有想过用Ajax定时刷新局部数据的方法,这样并发用户多的话就造成系统开销过大,后来在网上查出采用以下方案可以解决此问题,但还未曾测试保持socket连接当并发用户多起来的时候会怎样,这里与大家分享一下,如果有好的方案希望们不要吝啬,多多指教,在此谢过!
结合JavaScript帧间通信和一个管理网络通信的Java Applet,用推送技术解决这个问题。
Java Applet的任务是通过socket连接服务器并监听内容更新。一旦接收到了新的内容,Applet调用一个JavaScript函数并把包含新内容的HTML传递给JavaScript函数。JavaScript函数运用DHTML和DOM技术,把页面中一个<div>标记的内容用参数中传入的新内容替换。
在服务器端,创建另一个类的实例响应Socket连接请求,并为每一个新的连接请求创建一个新的线程。每一个线程只检查数据文件是否改变。如果数据文件已经改变,则线程读取文件内容,并把新的数据发送给已经连接的Applet(示例应用把整个文件发送给Applet)。
在客户端,一个隐藏帧包含了上面提到的Applet。Applet实现了连接服务器的功能,并实现了一个简单的通信协议。建立与服务器的连接之后,Applet接收来自服务器的数据,并调用JavaScript函数把数据传入文档。
这样就实现了服务器端推送数据的功能,一有客户上来访问页面就为他建立与服务器的socket连接,服务器端得到改变的数据以后通过这个连接传回客户端。
- 服务器推送技术
- 服务器推送技术
- Web服务器推送技术
- 服务器推送技术
- 服务器推送技术
- Web服务器推送技术
- 服务器推送技术
- 服务器推送技术
- 服务器推送技术
- 服务器推送技术
- Android 服务器推送技术
- Android 服务器推送技术
- html5服务器推送技术
- Android 服务器推送技术
- Android 服务器推送技术
- Android 服务器推送技术
- Android 服务器推送技术
- Android 服务器推送技术
- 如何减少SQL Server死锁发生的情况
- 春天来了
- Oracle中Dual的使用
- WEB应用中读取配置文件
- RegularExpressionValidator控件中常见正则表达式用法
- 服务器推送技术
- java笔试题1
- c# 宝典 第三章 学习
- oracle数据库删除语句truncate,delete,drop的异同点
- java笔试题2
- Python Ftp服务库介绍
- 关于解决HTTP/1.1 500 Server Error的错误解决方法
- 艰难的抉择
- 改变一生的五句话(转)