当前位置: 首页 > 知识库问答 >
问题:

Comet和Websockets中开放连接的差异

程智明
2023-03-14

因此,在这两种情况下,连接都会长时间保持打开状态(尤其是websocket)。所以这不是websocket保持连接打开的缺点吗。我想引用ASP.NET中的SignalR来讨论这个概念。

共有1个答案

欧阳狐若
2023-03-14

首先,让我们澄清Comet有两种类型:HTTP流和HTTP长轮询。你指的是长时间的投票。(有关术语,请参见另一个答案)。

在所有三种情况下(WebSocket、HTTP流和HTTP长轮询),底层TCP套接字都保持打开。这实际上是这种技术的主要特点,而不是副作用。您希望套接字保持永久打开(我现在过于简化了),这样就可以以低延迟的方式异步推送数据。

正如您所说的,这意味着服务器必须能够处理大量打开的套接字而不浪费资源。这是选择好的Comet/WebSocket服务器的关键因素之一。

 类似资料:
  • HTML5 websockets是(并且已经有一段时间了)一个热门话题,因为它们优雅地支持实时服务器端推送。 我目前有一个使用Tomcat 7.0.30支持的websockets的工作应用程序,其中包括websocket支持。但是将其转移到生产环境中会产生问题。 打开的websocket连接加起来是否等于Web服务器可以同时处理的最大连接数?例如。Apache中的。 相反,单个浏览会话的webso

  • 问题内容: 我一直在玩Socket.io,node.js和WebSockets,所有这些我都可以通过wifi连接正常工作。 但是,当我通过3G连接(例如在我的iPhone上)测试支持WebSocket的应用程序时,似乎只能回退到长时间轮询了。 使用Socket.io之前,连接失败并显示“ WebSocket连接无效或未验证原点”,然后退回长时间轮询。 我不知道WebSockets是否可以在3G上工

  • 在Python中,我将“WebSockets”库用于websocket客户端。 问题是一旦收到响应,客户端websocket连接就会断开。我希望连接保持打开,以便以后可以发送和接收消息。 为了保持websocket打开并能够在以后发送和接收消息,我需要做哪些更改?

  • 问题内容: 我知道在这里和互联网上已经创建了有关该主题的许多主题。但是,我真的无法就两个语句之间的区别得出最终的结论!我的意思是,尝试并尝试可以通过查询获得所需的所有结果,但是我真的无法完全控制刀具! 我正在考虑自己是一个非常优秀的程序员和一个非常出色的SQL-ista,对此我感到有些as愧… 这是一个例子: 我有一个包含网站页面的表格(“ web_page”) 具有类别(“类别”)的表格。 一个

  • 我试图了解如何最好地设计基于IIS/ASP.NET的websocket应用程序,特别是关于并发限制。 我已经阅读了关于“并发Websocket连接”以及如何调整各种值的所有IIS/ASP.NET文献--但是,当谈到websockets时,“并发”的定义是什么?如果我打开了一个websocket,并且它处于空闲状态,这是在“使用”连接吗?空闲websockets是否计入连接使用总数,或者只在发送/接