javascript – 如何让服务器与客户端通信

我对网络开发很陌生,所以请原谅我的无知.

我想知道的是,是否有办法让服务器向客户端广播消息.这样的示例是具有新闻源的客户端页面,并且每当新故事进入服务器时,服务器将该信息发送到客户端并且客户端更新其页面的新闻源.我不希望客户端每隔几秒就不断地对服务器进行轮询,问“嘿,现在有新故事吗?现在怎么样?现在怎么样?”我希望客户端做自己的事情,然后被来自服务器的消息打断.

有没有办法做到这一点?

最佳答案 对于较新的浏览器,您可以使用
web sockets打开与服务器的连续连接,然后客户端/服务器可以随时发送彼此的消息.

对于较旧的浏览器,通常这样做的方式是客户端必须“轮询”服务器,以便在服务器有任何新消息的情况下定期询问服务器.由于防火墙,本地安全设置,未知位置等,服务器通常无法直接连接到客户端…因此客户端必须连接到服务器.轮询可以是常规种类,每隔60秒轮询一次ajax调用以询问是否有任何新内容,或者它可以更长时间的轮询,客户端询问是否有新内容,如果有新内容,服务器立即返回该数据.但是,没有什么新东西,服务器挂起轮询请求一段时间等待看是否有新的东西.最终,服务器将返回它什么都没有或者如果有的话返回新消息.当客户端获得响应时,它会再次启动“长轮询”序列. Comet是库形式中的“长轮询”的示例,使其更容易实现.

点赞