0

我有一个用例,我计划从浏览器轮询到服务器以检查给定客户的任何更新。然后我想探索推送方法,其中 webserver(在我的例子中是 tomcat)可以在 webserver 上运行的 servlet 获得任何更新时自动执行从第三方更新。我想到了第一个问题 javaclass 如何知道它必须向哪个浏览器客户端发送更新。然后我在http://www.gianlucaguarini.com/blog/nodejs-and-a-simple 找到了链接-推送通知服务器/。这是演示如何支持推送方法的惊人链接。但是我想出了一些基本问题来继续使用这种方法。这些都是:-

1)浏览器内部是否仅使用 websockets 与 webserver 进行通信,或者他们只是使用 TCP 进行通信?据我了解,浏览器仅使用 TCP 协议,尽管它受到 chrome、mozilla 等一些兄弟的支持

2)是否所有浏览器都支持websocket(由示例中的io.connect('url')提供),特别是IE7,IE8根据我的理解

3)要支持浏览器上的推送方法,websockets是唯一的方法吗?根据我的理解,websockets主要用于将数据从webserver推送到浏览器(仅限那些支持websockets的)对于第一个浏览器需要与webserver建立websocket连接。现在服务器将使用创建的websocket向浏览器发送任何数据。对?

4)当websocket自动断开连接时是否有可能,例如请求超时或等待响应很长时间?

5)我们需要显式断开套接字还是在浏览器关闭时它会自动关闭?

如果回复是逐点的,那将非常有帮助。

4

1 回答 1

0
  1. WebSocket 协议TCP 协议。只是它以HTTP开头,然后可以升级为TCP。

  2. Internel Explorer 应该在版本 10 中支持 WebSockets。其他主要浏览器(Chrome、FireFox、Safari、Opera)完全支持它。

  3. 还有很多其他的可能性。简单轮询、长轮询(您发出一个 ajax 请求并且服务器仅在他有新数据时响应)、隐藏无限 iframe、使用闪存等。

  4. 是的。

  5. 一旦使用端口的应用程序(在这种情况下是浏览器)被终止,那么所有连接也将终止。

于 2012-11-19T09:21:30.850 回答