websockets如何详细工作?

Posted

技术标签:

【中文标题】websockets如何详细工作?【英文标题】:How do websockets work in detail? 【发布时间】:2017-09-20 05:40:27 【问题描述】:

fantastic answer 详细介绍了 REST api 的工作原理。

websockets 如何以类似的细节工作?

【问题讨论】:

【参考方案1】:

Websockets 创建并代表了服务器和客户端之间双向通信的标准。此通信通道创建一个 TCP 连接,该连接位于 HTTP 之外并在单独的服务器上运行。 为了启动这个过程,需要在服务器和客户端之间进行握手。

这是工作流程

1) 用户向服务器发起 HTTP 请求,带有升级头,表示客户端希望建立 WebSocket 连接。

2)如果服务器使用WebSocket协议,那么它会接受升级并返回响应。

3) 握手完成后,从现在开始使用 WebSocket 协议。所有通信都将使用相同的底层 TCP 端口。新的返回状态码 101 表示交换协议。

作为 html5 的一部分,它应该适用于大多数现代浏览器。

【讨论】:

以上是关于websockets如何详细工作?的主要内容,如果未能解决你的问题,请参考以下文章

websockets如何详细工作?

Ubuntu 13.10 中的 websocket 连接失败

Tornado websocket 客户端:如何异步 on_message? (从未等待协程)

websocke

离子框架+科尔多瓦。 WebSocket 在 android release 版本中不工作,但 debug 版本工作正常

Flask websocker