nodejs例子

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值