socket.io的使用
项目中需要实时接收后端返回的数据,因此决定采用websocket通信方式来完成需求,与后端沟通后采用socket.io来实现websocket通信。
socket.io与websocket的区别
WebSocket是应用层协议
WebSocket是HTML5新增的一种通信协议,其特点是服务端可以主动向客户端推送信息,客户端也可以主动向服务端发送信息,是真正的双向平等对话,属于服务器推送技术的一种。
Socket.io是一个框架
Socket.io完全由JavaScript实现、基于Node.js、支持WebSocket协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js。也就是说Socket.io将Websocket和轮询(Polling)机制以及其它的实时通信方式封装成了通用的接口,并且在服务端实现了这些实时通信机制。
总结:Socket.io中主要使用了websocket,将轮询作为其辅助选项,提供的是相同的接口。其与node.js一样,也是事件驱动的
socket.io的安装
npm install socket.io
npm install socket.io-client
这里我选用的是socket.io-client,参考的是socket.io的官方文档