node.js + socket.io 实现点对点随机匹配聊天

2020-06-18 05:53:23易采站长站整理


//前端
window.id = new Date().getTime()+""+Math.floor(Math.random()*899+100);
//每次登录,获取一个唯一的用户id
socket = io.connect('ws://'+host);
socket.emit('newUser',{ user_name : name, user_id : id})
//建立连接后,将我的用户名和id都传给后端

//后端
socket.on('newUser',function(data){
var nickname = data.user_name,
user_id = data.user_id;
userServer[user_id] = socket;
//后端接收后,将该用户socket保存在一个对象里,key值为id,value就是这个用户的socket

})

通过上面的代码,后端得到了一个userServer的对象,里面是每个连接socket和其id的对应值,这样,就可以通过每次发送信息时,附带要接收对象的id来达到点对点的数据传输。

接下来就是数据处理咯,如何取到对方的id啊等等,鉴于我表达能力有限,加上懒,就不啰嗦啦~~ 代码我都托管在github欢迎自己下下来看咯~https://github.com/mikoshu/mychatroom.git

相关文章 大家在看