Skip to content

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('连接已关闭')
}

备案号:冀ICP备20015584号-2