概要:javascript
前端頁面應用socketio庫html
後端使用node 搭建前端
前端如何使用socket.iojava
<!--引入socket.io庫 --> <script type="text/javascript" src="./socket.io/socket.io.js"></script> <script type="text/javascript"> //鏈接服務器 var socket = io.connect('http://localhost'); //使用on函數建立news時間的監聽 socket.on('news', function (data) { console.log(data); //使用emit向服務器提交事件 socket.emit('other event', { my: 'data' }); }); </script>
後端node
var chatServer = require('./lib/chat_Server.js'); //使用listen()在http服務器上監聽 chatServer.listen(server);
chat_server後端
exports.listen=function(server){ io = socketio.listen(server); io.set('log level' , 1); io.sockets.on('connection' , function(socket){ //各個功能輔助函數,用於完成聊天室的具體功能 guestNumber=assginGuestName(socket,guestNumber,nickName,nameUsed); joinRoom(socket,'Lobby'); handleMessageBroadcasting(socket,nickName); handleNameChangeAttempts(socket,nickName,nameUsed); handleRoomJoining(socket); socket.on('rooms',function(){ socket.emit('rooms',io.sockets.manager.rooms); }); handleCilentDisconnection(socket,nickName,nameUsed); }); };
other:服務器
向同一個集合中的鏈接廣播事件socket
//使用broadcast廣播 socket.broadcast.to(room).emit("message",{"text":nickName[socket.id]+"has joined "+room+"."});
自帶connect,message,disconnect三個事件,容許自定義事件
函數
尚待補充。。。
ui