zoukankan      html  css  js  c++  java
  • socket.io api 总结

    server 端
    const io = require('socket.io')(8000, {
    // path: '/socket',
    pingInterval: 10000,
    pingTimeout: 5000,
    cookie: false,
    })

    套接字

    服务端 接受套接字 /home
    io.of('/home').on('connection', socket => {
    socket.on('get', val => {
    socket.emit('back', val) // 返回单个链接客户端
    io.of('/home').emit('back', val) // 返回所有此套接字的客户端
    })
    })

    客户端
    let config = {transports: ['websocket']}
    const nav = io.connect('http://192.168.20.33:8000/home', config) // 链接后端,并使用套接字 /home
    nav.emit('get', 'data')

    房间
    房间为多个用户(多个浏览器登录)

    服务端
    io.of('/home').on('connection', socket => {
    socket.on('get', val => {
    socket.emit('back', val) // 发给单个客户端
    io.of('/home').to('roomName').emit('back', val) // 发给room所有客户端
    })
    socket.join('roomName')
    })

    客户端
    全由服务端设置房间


    断开链接

    服务端
    io.on('connection', (socket) => {
    socket.disconnect(true) 参数为true 关闭底层, 参数为 false, 关闭此命名空间
    });

    客户端
    const socket = io.connect('http://192.168.20.33:8000/home', config)
    socket.disconnect() // 断开此链接
    socket.on('connect, _ => {}) 链接上时触发
    socket.on('disconnect', reson => {})
    socket.open() 重连

  • 相关阅读:
    不冒任何险,什么都不做,什么也不会有,什么也不是
    jquery的$().each,$.each的区别
    SpringMVC的几种返回方式
    MySQL创建数据库并赋予权限
    Java微信公众号开发
    Mybatis批量删除
    JavaMail邮件开发
    JSON 数组的遍历解析
    按小时统计的语句
    Linux下安装Redis3.2.4
  • 原文地址:https://www.cnblogs.com/gsgs/p/8616352.html
Copyright © 2011-2022 走看看