We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Socket是什么, 具体组成是什么?
WebSocket是什么,原理是怎么样的?和Http以及Socket的关系是什么?
The text was updated successfully, but these errors were encountered:
Socket 是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信,也可以实现相同主机内的不同进程之间的通讯。
Socket = IP 地址 + 端口 + 协议
IP 地址 + 端口 + 协议 组成一个唯一标识,用来标识一个通信链路。
Socket 其实是对 TCP/IP 进行了高度封装,屏蔽了很多网络细节。这样可以使开发者更好地进行网络编程。其实就是我们写个高度封装内部细节的函数,通过传参来完成指定的行为。 可以这么说,所有的 TCP/UDP 等编程,基本都是按照 Socket 协议标准来进行编程的,换句话说,Socket 是一套标准,就好比 DOM ,所有语言都可以按照 DOM 的接口标准来实现自己的逻辑。 Socket 有自己的原语,开发者可以按照 Socket 的原语在不同语言下的实现方式来进行网络编程。
Websocket只是协议而已
一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)
二丶Websocket是一个持久化的协议
HTTP的生命周期通过Request来界定,也就是一个Request 一个Response,那么在HTTP1.0中,这次HTTP请求就结束了。 Websocket则不是
三,WebSocket具体过程是什么样的?
握手: GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 13 Origin: http://example.com
响应:
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= Sec-WebSocket-Protocol: chat
参考: WebSocket 是什么原理?为什么可以实现持久连接? - Ovear的回答 - 知乎 https://www.zhihu.com/question/20215561/answer/40316953
Sorry, something went wrong.
No branches or pull requests
Socket是什么, 具体组成是什么?
WebSocket是什么,原理是怎么样的?和Http以及Socket的关系是什么?
The text was updated successfully, but these errors were encountered: