socket.io 学习笔记

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

相关文章
相关标签/搜索