var http = require('http'); //聊天服务 var chat = require('./lib/chat'); //web服务 var web = require('./lib/web'); var server = http.createServer(web.handler); var io = require('socket.io')(server); var loginUseSession = true; // 是否需要登录 //进行相关事件处理 io.on('connection', function (client) { if (!client.handshake.query || !client.handshake.query.key) { //没有正确的连接参数 直接断开连接 client.emit('error notice', '连接参数不正确(-1)'); client.disconnect(); return; } if(client.handshake.query.key != chat.connect_key){ //连接的key不正确 client.emit('error notice', '连接参数不正确(-2)'); client.disconnect(); return; } //判断是否存在session_id if (!client.handshake.query && !client.handshake.query.username) { client.emit('error notice', 'no username'); client.disconnect(); return; } if(loginUseSession) { client['tag'] = 'new'; chat.processUserLogin(client); }else{ client.emit('error notice', '请使用session登录'); // setTimeout(function() { // client.disconnect(); // }, 3000); //仍然使用普通昵称 登录 client['tag'] = 'old'; chat.processClient(client,{ uid:0, nickname:client.handshake.query.username, avatar:'https://default.wm-app.xyz/chat_server/chat/img/default-avatar.jpg' }) } }); chat.init(io); var serverPort = 3000; server.listen(serverPort,()=>{ console.log('server start at port ',serverPort); console.log(`open http://localhost:${serverPort}/ view`) });