var express = require('express');
var http = require('http');
var ioredis = require('ioredis');
var log4js = require('log4js');
var uuid = require('node-uuid');
var app = express();
var redis = ioredis(6379, '192.168.7.165');
var server = http.createServer(app).listen(11111);
var io = require('socket.io').listen(server);
var mssql = require('mssql');
var sd = require('silly-datetime');
/*mssql server 配置信息*/
var mssqlConfig = {
user: 'sa',
password: 'Admin123',
server: '192.168.7.165',
database: 'ChatRoomNew',
pool: {
min: 0,
max: 10,
idleTimeoutMillis: 3000
}
};
log4js.configure({
"appenders": [
// 下面一行应该是用于跟express配合输出web请求url日志的
{ "type": "console", "category": "console" },
// 定义一个日志记录器 http://tmall.scj.tyouai.com/tmall2.html
{
"type": "dateFile", // 日志文件类型,可以使用日期作为文件名的占位符
"filename": "e:/weblogs/logs/", // 日志文件名,可以设置相对路径或绝对路径
"pattern": "yyyyMMddhh.txt", // 占位符,紧跟在filename后面
"absolute": true,// filename是否绝对路径
"alwaysIncludePattern": true, // 文件名是否始终包含占位符
"category": "logInfo" // 记录器名
}],
"levels": { "logInfo": "INFO" } // 设置记录器的默认显示级别,低于这个级别的日志,不会输出
});
var logger = log4js.getLogger("logInfo");
io.set('transports', [
'websocket',
'polling'
]);
/*订阅redis中Price渠道*/
redis.subscribe("Price", function (err, count) {
console.log(count);
console.log("-redis订阅DDE-");
});
/*接收/监听被订阅的项*/
redis.on("message", function (channel, message) {
//console.log('Receive message %s from channel %s', message, channel);
//console.log(message);
io.sockets.emit("publishPrice", message);
})
var oneSecond = 1000 * 1; // one second = 1000 x 1 ms
setInterval(function() {
var time=sd.format(new Date(), 'YYYY-MM-DD HH:mm:ss');
console.log(time);
io.sockets.emit("CurrentTime",time);
}, oneSecond);
io.on('connection', function (socket) {
/*下线*/
socket.on('disconnect', function () {
});
});
process.on('uncaughtException', function (err) {
//打印出错误
logger.error("uncaughtException:" + err);
//打印出错误的调用栈方便调试
//console.log(err.stack);
});
module.exports = app;
var http = require('http');
var ioredis = require('ioredis');
var log4js = require('log4js');
var uuid = require('node-uuid');
var app = express();
var redis = ioredis(6379, '192.168.7.165');
var server = http.createServer(app).listen(11111);
var io = require('socket.io').listen(server);
var mssql = require('mssql');
var sd = require('silly-datetime');
/*mssql server 配置信息*/
var mssqlConfig = {
user: 'sa',
password: 'Admin123',
server: '192.168.7.165',
database: 'ChatRoomNew',
pool: {
min: 0,
max: 10,
idleTimeoutMillis: 3000
}
};
log4js.configure({
"appenders": [
// 下面一行应该是用于跟express配合输出web请求url日志的
{ "type": "console", "category": "console" },
// 定义一个日志记录器 http://tmall.scj.tyouai.com/tmall2.html
{
"type": "dateFile", // 日志文件类型,可以使用日期作为文件名的占位符
"filename": "e:/weblogs/logs/", // 日志文件名,可以设置相对路径或绝对路径
"pattern": "yyyyMMddhh.txt", // 占位符,紧跟在filename后面
"absolute": true,// filename是否绝对路径
"alwaysIncludePattern": true, // 文件名是否始终包含占位符
"category": "logInfo" // 记录器名
}],
"levels": { "logInfo": "INFO" } // 设置记录器的默认显示级别,低于这个级别的日志,不会输出
});
var logger = log4js.getLogger("logInfo");
io.set('transports', [
'websocket',
'polling'
]);
/*订阅redis中Price渠道*/
redis.subscribe("Price", function (err, count) {
console.log(count);
console.log("-redis订阅DDE-");
});
/*接收/监听被订阅的项*/
redis.on("message", function (channel, message) {
//console.log('Receive message %s from channel %s', message, channel);
//console.log(message);
io.sockets.emit("publishPrice", message);
})
var oneSecond = 1000 * 1; // one second = 1000 x 1 ms
setInterval(function() {
var time=sd.format(new Date(), 'YYYY-MM-DD HH:mm:ss');
console.log(time);
io.sockets.emit("CurrentTime",time);
}, oneSecond);
io.on('connection', function (socket) {
/*下线*/
socket.on('disconnect', function () {
});
});
process.on('uncaughtException', function (err) {
//打印出错误
logger.error("uncaughtException:" + err);
//打印出错误的调用栈方便调试
//console.log(err.stack);
});
module.exports = app;