WebSocket是一种在单个TCP连接上进行全双工通信的协议。
Websocket
- WebSocket 是独立的、创建在 TCP 上的协议。
- Websocket 通过HTTP/1.1 协议的101状态码进行握手。
它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。 —— 阮一峰
nodejs的Websocket插件
ws
安装
1 | npm install ws |
前后端通信小实例:
后端js:
1 | const express = require('express'); //express框架 |
前端测试页面(body部分)
1 | <body> |
ws插件的更多实例,可以参见:https://github.com/websockets/ws#broadcast-example
socket-io
安装
1 | npm install socket-io |
后端js:
1 | const express = require('express') |
前端(body部分)
找到当前项目的node-modules/socket-io/client-dist/socket.io.js
,这个js是给前端用的。
1 | <body> |
这个html文件要在’localhost:8000’下打开
一些相关的概念
短连接
是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
长连接
长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
轮询
让浏览器间隔一段时间就发送一个请求,询问是否有新信息。
缺点 : 反复发送请求,但请求中可能包含较长的头部,真正有效的可能只是很小的一部分,所以这样会浪费带宽资源。
- 本文链接: https://anyway521.gitee.io/post/c793072c.html
- 最后更新:
- 版权声明: 博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!