H5原生WebSocket使用
建立连接步骤
- 创建WebSocket实例
- 链接WebSocket服务器
- 监听消息
let ws = new WebSocket('ws://127.0.0.1:3000');
ws.onopen = (e) => {
console.log('已连接上服务器');
ws.send('Hello');
};
ws.onmessage = (e) => {
console.log(e);
};
ws.onerror = (e) => {
console.log(e.message)
};
ws.onclose = (e) => {
console.log(e);
};
使用soocket.io
- H5端
const name = '张三'
let socket = io()
socket.emit('join', name)
socket.on('join', name => {
console.log(name + '加入群聊')
})
socket.on('message', msg => {
console.log('接收到消息:' + msg)
})
socket.emit('message', 'Hello everyone!')
- 服务器端(node.js)
const express = require('express')
const app = express()
const http = require('http').Server(app)
const io = require('socket.io')(http)
let usocket = {};
app.engine('html', require('express-art-template'))
app.use('/public', express.static('./public'))
app.get('/', (req, res) => {
res.render('index.html')
})
io.on('connection', socket => {
console.log('客户连接上服务器')
socket.on('join', name => {
cosnole.log(name + '加入了群聊')
usocket[name] = socket
io.emit('join', name)
})
socket.on('message', msg => {
console.log('接收到消息:' + msg)
io.emit('message', msg)
})
})
http.listen(3000, () => {
console.log('listen on port 3000')
})