这个是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 入门指北》