0 Star 0 Fork 0

Taller/nodejs-framework7

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
socket.js 1.25 KB
一键复制 编辑 原始数据 按行查看 历史
谭杰 提交于 2017-03-01 15:38 . 加入了websocket
/**
* Created by Taller on 17/3/1.
*/
var express = require('express'),
io = require('socket.io');
var app = express();
app.use(express.static(__dirname));
var server = app.listen(8888);
var ws = io.listen(server);
ws.on('connection', function(client){
//客户端连接注册
client.on('join', function(userId){
// 检查是否有重复
if(!checkUserId(userId)){
client.userId = userId; //加入到在线客户端列表中
console.log('join','客户端->'+client.userId+'连接成功');
}
});
// 监听发送消息
client.on('send.message', function(msg){
client.broadcast.emit('send.message',client.userId,msg);
});
// 断开连接时
client.on('disconnect', function(){
if(client.userId){
//client.broadcast.emit('send.message','系统', client.userId + '断开了连接!');
console.log('disconnect:',client.userId + '断开了连接!')
}
})
});
var checkUserId = function(_userId){
for(var k in ws.sockets.sockets){
if(ws.sockets.sockets.hasOwnProperty(k)){
if(ws.sockets.sockets[k] && ws.sockets.sockets[k].userId == _userId){
return true;
}
}
}
return false;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/evilatom/nodejs-framework7.git
[email protected]:evilatom/nodejs-framework7.git
evilatom
nodejs-framework7
nodejs-framework7
master

搜索帮助