57 lines
1.7 KiB
JavaScript
Executable File
57 lines
1.7 KiB
JavaScript
Executable File
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`)
|
|
}); |