小编yoj*_*o87的帖子

获取node.js中的本地IP地址

我有一个简单的node.js程序在我的机器上运行,我想获得运行我程序的PC的本地IP地址.我如何使用node.js获取它?

javascript ip node.js

291
推荐指数
20
解决办法
30万
查看次数

258
推荐指数
3
解决办法
6万
查看次数

NodeJS中的基本静态文件服务器

我试图在nodejs中创建一个静态文件服务器,作为理解节点而不是完美服务器的练习.我非常了解Connect和node-static等项目,并且完全打算将这些库用于更多生产就绪的代码,但我也想了解我正在使用的基础知识.考虑到这一点,我编写了一个小型server.js:

var http = require('http'),
    url = require('url'),
    path = require('path'),
    fs = require('fs');
var mimeTypes = {
    "html": "text/html",
    "jpeg": "image/jpeg",
    "jpg": "image/jpeg",
    "png": "image/png",
    "js": "text/javascript",
    "css": "text/css"};

http.createServer(function(req, res) {
    var uri = url.parse(req.url).pathname;
    var filename = path.join(process.cwd(), uri);
    path.exists(filename, function(exists) {
        if(!exists) {
            console.log("not exists: " + filename);
            res.writeHead(200, {'Content-Type': 'text/plain'});
            res.write('404 Not Found\n');
            res.end();
        }
        var mimeType = mimeTypes[path.extname(filename).split(".")[1]];
        res.writeHead(200, mimeType);

        var fileStream = fs.createReadStream(filename);
        fileStream.pipe(res);

    }); //end path.exists
}).listen(1337);
Run Code Online (Sandbox Code Playgroud)

我的问题是双重的

  1. 这是在节点中创建和流式传输基本html等的"正确"方法,还是有更好/更优雅/更健壮的方法?

  2. 节点中的.pipe()基本上只是执行以下操作吗?

.

var …
Run Code Online (Sandbox Code Playgroud)

webserver http node.js

84
推荐指数
3
解决办法
8万
查看次数

如何在socket.io中重用redis连接?

这是我的代码使用socket.io作为WebSocket和后端与pub/sub redis.

var io = io.listen(server),
    buffer = [];

var redis = require("redis");

var subscribe = redis.createClient();  **<--- open new connection overhead**

io.on('connection', function(client) {

    console.log(client.request.headers.cookie);

    subscribe.get("..", function (err, replies) {

    });

    subscribe.on("message",function(channel,message) {

        var msg = { message: [client.sessionId, message] };
        buffer.push(msg);
        if (buffer.length > 15) buffer.shift();
        client.send(msg);
    });

    client.on('message', function(message){
    });

    client.on('disconnect', function(){
        subscribe.quit();
    });
});
Run Code Online (Sandbox Code Playgroud)

每个新的io请求都将创建新的redis连接.如果有人用100个标签打开浏览器,那么redis客户端将打开100个连接.它看起来不太好看.

如果cookie相同,是否可以重用redis连接?因此,如果有人打开许多浏览器标签,也将其视为开放1连接.

redis node.js socket.io

40
推荐指数
1
解决办法
3万
查看次数

Github页面是否在具有gh-pages分支的repo的fork中自动创建?

当我分叉已经包含gh-pages分支的repo时,我的帐户中的github页面是否自动创建?

github github-pages

40
推荐指数
3
解决办法
7114
查看次数

Backbone.js教程和学习资源

是否还有其他backbone.js教程或初学者学习资源,而不是IntroductionHello backbone.js

javascript backbone.js

31
推荐指数
2
解决办法
1万
查看次数

WebSockets身份验证

使用websocket连接时,对用户进行身份验证的可能方法有哪些?

示例场景:通过加密websocket连接的基于Web的多用户聊天应用程序.如何确保(或保证)此应用程序中的每个连接都属于某个经过身份验证的用户,并且在连接期间由于虚假用户模拟而"无法"利用该连接.

security websocket

29
推荐指数
2
解决办法
2万
查看次数

在redis中存储对象属性

假设我有一个对象(User),它包含一些属性(ID,Name,Surename,Age).哪个方法最好将此对象存储在redis中?

  • 将每个属性值存储在专用键中,例如user:{id}:id,user:{id}:name,user:{id}:surename,user:{id}:age
  • 将整个User对象作为JSON字符串存储在一个键中,例如user:{id}:json(键的值将是这样的:{"ID":123,"Name":"Johny","Surename": "Bravo","年龄":22})

json redis key-value-store

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

战略游戏服务器概念

我打算创建一个基于WebGL的实时战略游戏,让玩家可以一起玩.我将使用Node.js创建游戏服务器,并使用websockets实现实时连接.

我已经打破了关于同步客户端的最佳概念的想法.

一种可能性是仅将用户的订单(移动单元,建筑物等)发送到服务器,服务器将它们发送给所有其他客户端.但在这里,我有延迟的问题.我认为游戏会以这种方式变得异步.

另一种可能性是在服务器上制作游戏.客户端仍然将指令发送到服务器,但服务器现在将所有单元和建筑物的所有已更改状态发送到客户端的间隔很长.这里的问题是数据量大,速度有多快......

您有其他想法或改进建议吗?

谢谢!

javascript webgl websocket node.js

17
推荐指数
2
解决办法
2088
查看次数

触发相同的位置路线

有没有办法在backbone.js中触发相同的位置路由,例如当位置/My/App/#/About和用户再次使用相同的路径点击锚点以刷新页面内容时.

javascript routes backbone.js

16
推荐指数
2
解决办法
9364
查看次数