socket.io官方文档中文版——知乎博客
WebSockets
Socket.io
- Javascript库
- 面向实时Web应用
- 服务器和客户端的双向通信
- 主要使用WebSocket协议(基于WebSocket的库)
- 事件驱动
测试
Socket.IO 客户端不是 WebSocket 实现,因此无法与 WebSocket 服务器建立连接,即使transports: ["websocket"]
服务器
1.安装
1 | yarn add socket.io |
使用 µWebSockets.js {#usage-with-µwebsocketsjs}
1 | yarn add uWebSockets.js@uNetworking/uWebSockets.js#v20.4.0 |
初始化
1 | https.createServer([options][, requestListener]) |
Konva(基于canvas的绘图库)
https://gitee.com/jepsonpp/draw-and-guess
socket发送一个connection,io收到了一个socket,就创立了连接(connected)
socket发送一个disconnection,就失去了连接
当socket发送一个input事件,携带着message数据,当io接收到之后,可能对message做相应的处理,然后返回data数据,当socket接收到data数据,可以对视图做更新处理。
CDN
https://cdnjs.com/libraries/socket.io
博客文章
Vue 使用 Vue-socket.io 实现即时聊天应用(Vue3连接原理分析)
Vue 使用 Apache Echarts 绘制地图(省市、地区)
socket.io中的pingtimeout和pingInterval
vue.config.js
1 | module.exports = { |
src/socket/index.js
1 | import io from 'socket.io-client' |
目标:构建Socket.io模块
基本语法:
1.创建连接: const socket = io[ 地址]
2.发送消息: socket.emit(消息type类型,消息内容,接收到消息的回调函致)
3.监听消息:socket.on(事件type类型,接收到消息的回调国数)
为什么需要这个模块:
- 用on 鉴听事件,
接收服务器
消息 - 用emit
发送消息到服务器
构建步骤:
安装依赖包:
yarn add socket.io-client
创建
src/socket/index.js
模块文件,编写模块内容main.js
中导入vue.config.js
配置网络代理启动后台server,
测试接口