【发布时间】:2011-02-10 11:54:30
【问题描述】:
我读过WebSockets,我想知道为什么浏览器不能像任何其他桌面应用程序一样简单地打开简单的 TCP 连接并与服务器通信。为什么这种通信可以通过 websockets 实现?
【问题讨论】:
-
但是有什么问题呢?让他们使用 TCP。
-
“WebSocket 是一种通过单个 TCP 连接提供全双工通信通道的协议”。您也可以创建全双工的 TCP 连接吗? WebSockets 有什么特别之处?
-
问题是通常web服务器出于安全原因只开放一个端口,即端口
80。根据定义,一个端口可以仅连接到一个应用程序。那么,如果客户端想要使用 Web (HTTP) 以外的服务但只有一个端口可用怎么办?瞧!网络套接字! -
@Pithikos 指出了为什么我们需要这种复杂的 websockets 而不仅仅是处理用于浏览器-服务器通信的直接 TCP 套接字。