socket.io 学习笔记

概要:

  • 前端页面应用socketio库

  • 后端使用node 搭建

前端如何使用socket.io

<!--引入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>

后端

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:

向同一个集合中的连接广播事件

//使用broadcast广播
socket.broadcast.to(room).emit("message",{"text":nickName[socket.id]+"has joined "+room+"."});

自带connect,message,disconnect三个事件,允许自定义事件

尚待补充。。。




转载于:https://my.oschina.net/u/2310482/blog/487007

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值