繁体   English   中英

如何使服务器与客户端对话

[英]how to get the server to talk to the client

我是Web开发的新手,请原谅我的无知。

我想知道的是,是否有一种方法可以让服务器向客户端广播消息。 这样的一个示例是具有新闻源的客户端页面,并且每当有新故事传入服务器时,服务器就会将该信息发送给客户端,并且客户端会更新其页面的新闻源。 我不希望客户端每隔几秒钟就不断轮询服务器,问“嘿,现在有新故事吗?现在怎么样?现在怎么样?” 我希望客户端做自己的事情,然后被服务器发出的消息打断。

有没有办法做到这一点?

对于较新的浏览器,可以使用Web套接字打开与服务器的连续连接,然后客户端/服务器可以在需要时彼此发送消息。

对于较旧的浏览器,通常这样做的方式是客户端必须“轮询”服务器以按一定的时间表询问服务器,如果服务器中有任何新消息。 由于防火墙,本地安全设置,未知位置等原因,服务器通常无法直接连接到客户端,因此客户端必须连接到服务器。 轮询可以是常规轮询,也可以每60秒通过ajax调用轮询一次,以询问是否有新内容,或者可以是长时间轮询,其中客户端询问是否有新内容,如果有新内容,则进行轮询。服务器立即返回该数据。 但是,没有什么新内容,服务器会在一段时间内挂起轮询请求,以等待是否有新内容。 最终,服务器将返回没有任何内容的服务器,或者如果有则返回一条新消息。 当客户端获得响应时,它将重新开始“长轮询”序列。 Comet是库形式的“长期投票”的一个示例,它易于实现。

Pusher是量身定制的http://pusher.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM