【发布时间】:2013-01-10 12:41:12
【问题描述】:
与仅通过 AJAX 提供信息相比,使用 TCP 编程的站点(即站点上的某人连接到服务器并通过 TCP 交换信息)如何扩展?假设交换的信息是一样的。
试图澄清:我特别问的是规模:我已经读过,与仅静态提供信息相比,保持数千个 TCP 连接需要资源(哪个?)。我想知道这是否正确。
【问题讨论】:
-
你的问题有点泛滥。您提到了 TCP、WebSocket、AJAX 和 HTTP。您到底想与什么进行比较?
-
据我所知,WebSocket 是 TCP 上的一个薄层,而 Ajax 只是发出 HTTP 请求的一种方式。
-
最大的问题是:服务器主要需要向客户端推送事物的通知还是客户端主要需要询问服务器问题?在前一种情况下,WebSockets 要好得多。在后一种情况下,这无关紧要,减少 TCP 连接可以让服务器上的生活更轻松。
-
客户端确实需要定期与服务器交换少量信息;比如说,每个客户每分钟 3 条 3 字长的消息。这对每个客户的要求并不高; HTTP 请求可以正常工作。但是有人告诉我保持 TCP 连接要求很高。大约 1000 个之后就会开始出现问题,而提供 1000 个左右的静态文件就可以了。这就是我问的原因。这些信息正确吗?
-
WebSocket 以 HTTP 连接开始并升级为 websocket,这意味着它允许双向通信。您是否在问在标准 TCP 连接上使用 WebSockets 是否具有可扩展性的好处?需要保持相同数量的连接。
标签: javascript node.js http tcp websocket