概要: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