一些链接
- WebSocket在线调试:http://www.easyswoole.com/wstool.html
- express笔记:https://www.yuque.com/wztlink1013/projects/tdgoby
相关文档:http://expressjs.jser.us/
mongodb和sharedb-mongo
-
WebSocket长连接概念
什么是WebSocket?
参考: - WebSocket 教程 作者: 阮一峰
为什么需要WebSocket呢?
因为网络请求,有请求响应,浏览器的请求,还需要有服务端的响应,需要时刻进行数据通信,明显上述不行,因为上述强调一个“主动”,也就是客户端如果不发送请求,服务端就不会进行响应,对协同而言明显不行,比如说,a用户修改了一个部分,这个时候就需要服务端主动将修改后的内容推送到其他客户,这样才能实现实时协同。再比如多人聊天室。
所以需要一个在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。
使用的时候还需要注意,只有浏览器支持WebSocket协议,才能够使用该协议,兼容的浏览器种类及版本如下:
Chrome
Firefox
IE >= 10
Sarafi >= 6
Android >= 4.4
iOS >= 8
Node.js中,使用最广泛的WebSocket模块是ws,以下学习笔记:
Node.js的WebSocket模块ws的使用
地址:https://github.com/websockets/ws
下载
cnpm i ws --save
- connection:https://github.com/websockets/ws/blob/master/doc/ws.md#event-connection
- addEventListener:https://github.com/websockets/ws/blob/master/doc/ws.md#websocketaddeventlistenertype-listener-options
@teamwork/websocket-json-stream
https://www.npmjs.com/package/@teamwork/websocket-json-stream
用于 WebSocket 连接的 nodejs 流包装器。它也适用于浏览器 WebSockets。