可以javascript收到套接字请求吗?

时间:2011-03-26 09:39:24

标签: javascript sockets

如何让我的javascript客户端应用程序接收套接字请求? 我的意思是不按要求回复,而是要求自己 Javascript在没有HTML5的浏览器中运行。

问题是我希望我的网页重新加载更改的内容,但不需要每隔几分钟向服务器发出请求 我希望服务器可以在页面上对javascript做出一些请求,使其刷新页面。如果没有,你可以在这个范围内建议使用javascript。

2 个答案:

答案 0 :(得分:5)

许多支持HTML5的浏览器都实现了WebSocket接口。 WebSocket允许双向通信,因此浏览器和服务器可以发送请求。查看此帖子了解更多信息What browsers support HTML5 WebSocket API?

如果您的浏览器不支持WebSockets,您可以尝试使用此站点的Flash / JS编写的WebSocket仿真https://github.com/gimite/web-socket-js

如果这也不适合你,那么最后一个选项是“长轮询”。在这种情况下,浏览器向服务器询问一些数据,如果服务器没有任何可用于浏览器的信息,则它不会发送空响应。它保留请求并等待新数据可用。浏览器收到新数据后立即再次询问服务器。 查看这些链接以获取更多信息: http://en.wikipedia.org/wiki/Push_technology http://en.wikipedia.org/wiki/Comet_(programming)

答案 1 :(得分:4)

是和否。

在浏览器环境中运行的Javascript无法侦听套接字,因为它在具有有限功能的沙箱中运行。

然而,JS是一种完整的编程语言,所以如果你让它在一个没有瘫痪的环境中运行,那么它可以做到这一点甚至更多。

一个很好的例子是node.js - http://nodejs.org/

维基页面 - http://en.wikipedia.org/wiki/JavaScript#Uses_outside_web_pages