NodeJS - Socket.IO
阿新 • • 發佈:2018-12-25
服務端:
io.sockets.on('connection', function (socket) { // 向當前客戶端傳送事件 // 傳送給單個使用者 socket.emit('message', "this is a test"); // 傳送給所有端,不包括髮送端 // 廣播(不包含當前客戶端) socket.broadcast.emit('message', "hello,everyone"); // 傳送給所有端,包括髮送端 // 廣播(包含當前客戶端) io.sockets.emit('message', "hello,all"); // 傳送給所有在room1房間中的端,不包括髮送端 // 在房間廣播(不包含當前客戶端) socket.broadcast.to('room1').emit('message', 'nice game'); // 傳送給所有在room1房間中的端,包括髮送端 // 在房間廣播(包含當前客戶端) io.sockets.in('room1').emit('message', 'cool game'); // 傳送給指定客戶端(實現一) io.sockets.in(socket.id).emit('message', {data:"傳送給指定客戶端"}); // 傳送給指定客戶端 io.sockets.sockets[socketid].emit('message', 'for your eyes only'); // 傳送給當前連線的 socket 客戶端 io.emit('message', "this is a test"); // 傳送給指定客戶端(實現二) io.sockets.connected[socket.id].emit('message',{data:"傳送給指定客戶端"}); });
知識點
io.on('connection', socket => {
// 通過socket.handshake獲得了使用者請求資訊
console.info(socket.handshake);
// 獲取使用者ip
console.info(socket.handshake);
// 獲取socket id
console.info(socket.id);
});