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() 重連


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM