小编ham*_*u92的帖子

为什么我的module.exports不起作用?

这是我的基本node.js应用程序,只有两个文件:

app.js

var express = require('express')
  , routes = require('./routes')
  , http = require('http')
  , path = require('path');
var app = express();

module.exports = { 
  test: "test"
};


// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
    // defining  middlewares

app.get('/', routes.index);




http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)

和我的index.js:

var server = require('../app');
exports.index = function(req, res){
    console.log(server);
    res.send('Hello world');
};
Run Code Online (Sandbox Code Playgroud)

我的问题是当我去http:\\localhost:3000,我在我的控制台中看到{}而不是{test: "test"},它看起来 module.eports …

node.js

4
推荐指数
1
解决办法
5135
查看次数

Socket.io 命名空间限制以及如何扩展它

我有 socket.io 应用程序,必须处理很多命名空间。我想知道 socket.io 实例可以处理的命名空间数量的限制是多少,如果我创建 10k 命名空间,是否有任何问题。我如何扩展以在多个 socket.io 实例(例如,每个实例处理 1k 命名空间)中进行类似 scharding 的操作。实际上,我可以扩展以支持多个用户,但我的所有实例都必须处理所有命名空间。

更新1:

我试图解决的问题如下,我有一个多人纸牌游戏(如扑克),每个房间都有 4 个玩家在玩游戏,由 socketio 命名空间建模。由于我期望有数千个并发玩家,我的 socketio 实例应该处理这个数量的命名空间。我已经实现了Socket.io 网站中解释的可扩展性解决方案。当我向外扩展时,我在新实例中运行这个节点片段,以便它可以处理之前创建的所有命名空间。

rooms.forEach(function(room){
    var socketRoom = io.of('/room/' + room.id)
    .on('connection', function(mySocket){
        return handleTableSocket(mySocket, socketRoom, room);
    });
});
Run Code Online (Sandbox Code Playgroud)

那么用socketio命名空间对每个游戏室建模是个好主意吗?如果命名空间的数量增加怎么办?

干杯

scalability node.js socket.io

1
推荐指数
1
解决办法
1461
查看次数

标签 统计

node.js ×2

scalability ×1

socket.io ×1