这个是nodejs封装好,前后端的适用代码。前端这部分其实也是用到Es6的new WebSocket对象
express和socket.io使用案例:

只要node 1.js 启动文件就i行了 ,接着打开浏览器就能开始聊天
(注意必须在当前目录创建名为socket.io的目录和添加socket.io.js socket.io\socket.io.js)
http://pan.baidu.com/s/1boaowXp
koa2和socket.io使用案例:
Server端:
const Koa = require('koa'); const app = new Koa(); const server = require('http').Server(app.callback()); const io = require('socket.io')(server); const port = 8081; server.listen(process.env.PORT || port, () => { console.log(`app run at : http://127.0.0.1:${port}`); }) io.on('connection', socket => { console.log('初始化成功!下面可以用socket绑定事件和触发事件了'); socket.on('send', data => { console.log('客户端发送的内容:', data); socket.emit('getMsg', '我是返回的消息... ...'); }) setTimeout( () => { socket.emit('getMsg', '我是初始化3s后的返回消息... ...') }, 3000) })
客户端:
<html> <head> <meta charset='UTF-8'> <title>socket.io客户端</title> <script src='/socket.io/socket.io.js'></script> </head> <body> <button id='send'>发送消息到服务器</button> <div> <h3>服务器响应的消息:</h3> <i id='msg'></i> </div> <script> var socket = io('ws://localhost:8081'); var send = document.querySelector('#send'); var msg = document.querySelector('#msg'); socket.on('getMsg', data => { console.log('服务端消息:', data); msg.innerHTML = `${data} <br/>`; }) send.onClick = () => { console.log('点击了发送消息!'); socket.emit('send', 'hello'); } <script> </body> </html>
注意:
<span id=’notes-1′>注1:客户端引用的’/socket.io/socket.io.js’;源于服务端运行后会在根目录动态生成socket.io的客户端js文件,客户端可以通过固定路径/socket.io/socket.io.js添加引用。</span>
https://www.jianshu.com/p/7c6afcb95e18
其他参考:https://blog.csdn.net/walker_wq/article/details/87457933
websocket知识普及:《JS 服务器推送技术 WebSocket 入门指北》