WebSocket
长连服务
框架内置了 WebSocket
可以通过 config/app.ts
中去开启服务,并在 websocket/ws.ts
中开发业务逻辑。
示例
// WebSocket开发 服务端
export default async (ctx: any, next: () => void) => {
console.log('客户端已连接')
ctx.websocket.on('message', (message: string) => {
// 广播消息给客户端
ctx.websocket.send(`接收消息并广播: ${message}`)
})
ctx.websocket.on('close', () => {
console.log('断开连接')
})
await next()
}
// WebSocket开发 服务端
export default async (ctx: any, next: () => void) => {
console.log('客户端已连接')
ctx.websocket.on('message', (message: string) => {
// 广播消息给客户端
ctx.websocket.send(`接收消息并广播: ${message}`)
})
ctx.websocket.on('close', () => {
console.log('断开连接')
})
await next()
}
// 客户端
const ws = new WebSocket('ws://127.0.0.1:2346')
ws.onopen = () => {
console.log('当前客户端已连接')
}
ws.onmessage = (evt) => {
console.log('接收消息', evt)
ws.send('发送消息')
}
ws.onclose = () => {
console.log('连接已关闭')
}
// 客户端
const ws = new WebSocket('ws://127.0.0.1:2346')
ws.onopen = () => {
console.log('当前客户端已连接')
}
ws.onmessage = (evt) => {
console.log('接收消息', evt)
ws.send('发送消息')
}
ws.onclose = () => {
console.log('连接已关闭')
}