有两种方法:
轮询
客户端定期请求数据。即使没有数据,也会使用网络和服务器资源。数据不太“实时”。非常容易实现,但不可扩展。
推送
服务器向客户端发送数据,所以客户端可以等待数据到达而不是定期检查。这可以通过套接字连接实现(由于你谈论的是网页,除非你使用Flash,否则浏览器中套接字的支持目前尚不成熟)-或者使用称为“comet”的技术。
如果服务器端实现不当,套接字连接和comet都不是特别可扩展的。
- 要在大规模进行实时数据传输(而不购买大量硬件),您需要使用不使用每个客户端线程的服务器软件。
我使用JavaScript计时器设置执行时间为毫秒,每次计时器执行函数会通过Ajax查询服务器并返回值(可能是JSON格式),然后更新您的字段。我每5秒执行一次,它完美地工作了。在ASP.NET中,我认为它被称为Ajax定时器控件。
要实现这个功能,需要两个步骤:
这就需要...