首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web套接字在Http上运行是什么意思?

问Web套接字在Http上运行是什么意思?
EN

Stack Overflow用户
提问于 2021-02-24 04:09:08
回答 1查看 84关注 0票数 1

https://sookocheff.com/post/networking/how-do-websockets-work/#:~:text=WebSocket%20uses%20HTTP%20as%20the,the%20use%20of%20long%2Dpolling。

WebSockets提供了一个双向全双工通信通道,它通过一个TCP/IP套接字连接在HTTP上运行。

Http被认为是单向的并且比websockets慢,所以这意味着Web套接字在Http上运行是什么意思?

在node.js中,我已经看到首先创建了一个http服务器,然后socket.io在该服务器上开始打包业务。

这是唯一的工作方式吗?为什么要这么做?

EN

回答 1

Stack Overflow用户

发布于 2021-02-24 08:37:13

使用"over“这个词是个错误。Websockets不通过HTTP操作。不过,这篇文章后来确实正确地解释了升级分离。

https://www.rfc-editor.org/rfc/rfc6455#section-1.7

WebSocket协议是一种独立的基于TCP的协议.它与HTTP的唯一关系是,HTTP服务器将其握手解释为升级请求。

socket.io库可以通过多个传输进行双向消息传递,websockets就是其中之一。它还支持HTTP长轮询,如果websocket连接不可能使用该轮询。

socket.io不是什么

Socket.IO不是WebSocket实现。尽管Socket.IO确实在可能的情况下使用WebSocket作为传输,但它为每个数据包添加了额外的元数据。这就是为什么WebSocket客户端不能成功地连接到Socket.IO服务器,而Socket.IO客户端也不能连接到普通的WebSocket服务器。

Socket.io还设置了中间件,用于为客户端交付Javascript内容,并在猪背到http服务器时处理长轮询请求。这使得使用起来更容易,并且意味着不需要管理静态Javascript依赖项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66344575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档