socket.io重新连接的例子

socket.io文件说我们应该实现我们自己的重新连接? 有没有人有一个简单的重新连接scheme的例子? 这个想法是,如果用户在20秒内重新连接,他应该给同一个socket.io sessionid。

用Node.js和CoffeeScript遍历文件中的行

我使用CoffeScript和以下函数使用Node.js来遍历文件中的行: each_line_in = (stream, func) -> fs.stat stream.path, (err, stats) -> previous = [] stream.on 'data', (d) -> start = cur = 0 for c in d cur++ if c == 10 previous.push(d.slice(start, cur)) func previous.join('') previous = [] start = cur previous.push(d.slice(start, cur)) if start != cur 有没有更好的办法做到这一点,而不是整个文件读入内存? “更好”的意思是更简洁,内置Node.js,更快,更准确。 如果我正在写Python,我会做这样的事情: def each_line_in(file_obj, func): [ […]

尝试使用协议分析器(Charles)捕获node.js httpstream量,但无法使节点使用代理

我试图捕获协议分析器(查尔斯)node.js httpstream量,但不能让节点使用代理。 有没有办法让节点http和https模块使用代理? 顺便说一句,我正在使用OSX

你怎么configurationnowjs?

使用nowjs,我如何configuration较低级别的socket.io的日志级别和每个连接(全局)身份validation级别? 例如,如果我只是使用socket.io我会使用下面的代码: socketServer.configure(function (){ socketServer.set('authorization', function (handshakeData, callback) { callback(null, true); // error first callback style }); socketServer.set('log level', 1); }); 谢谢!!

NodeJS:什么是处理TCP套接字stream的正确方法? 我应该使用哪个分隔符?

根据我在这里所理解的,“V8有一个世代垃圾收集器,随机移动对象,节点不能得到一个指向原始string数据的指针来写入套接字。 所以我不应该将来自TCPstream的数据存储在string中,特别是如果该string变得比Math.pow(2,16)字节更大。 (希望我到现在为止..) 那么什么是处理来自TCP套接字的所有数据的最佳方式? 到目前为止,我一直试图使用_:_:_作为分隔符,因为我认为它是某种独特的,不会混淆其他的东西。 数据的一个样本将会是something_:_:_maybe a large text_:_:_ maybe tons of lines_:_:_more and more data 这是我试图做的: net = require('net'); var server = net.createServer(function (socket) { socket.on('connect',function() { console.log('someone connected'); buf = new Buffer(Math.pow(2,16)); //new buffer with size 2^16 socket.on('data',function(data) { if (data.toString().search('_:_:_') === -1) { // If there's no separator in the data that […]

在CentOS 5上安装node.js

我对CentOS(5)以及node.js很新,但是我已经有一个旧版本的node.js在我的虚拟服务器上工作了。 现在我试图安装一个更新的版本,我知道CentOS需要Python 2.4,而节点需要2.6或更新,所以我使用altinstall安装了Python 2.7。 但是即使我在运行./configure之前为Python指定了一个别名,我仍然得到这个错误: /root/node/wscript: error: Traceback (most recent call last): File "/root/node/tools/wafadmin/Utils.py", line 274, in load_module exec(compile(code, file_path, 'exec'), module.__dict__) File "/root/node/wscript", line 222 "-pre" if node_is_release == "0" else "" ^ SyntaxError: invalid syntax 这是./configure的内容: #! /bin/sh # v8 doesn't like ccache if [ ! -z "`echo $CC | grep ccache`" ]; […]

如何在`express-js`中使用`less`来缩小CSS?

app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] })); 这是我的app.js中的行less启用。 我怎样才能把{ compress: true }parameter passing给它呢?

在Node.js中,为什么我更喜欢键值存储在应用程序variables?

我正在Node.JS中开发一个支持Socket.IO的实时应用程序,在任何时候都会有几百个用户同时使用这个应用程序,我需要存储关于每个连接客户端的一些基本细节(并且删除这些细节客户端断开连接)。 我已经读过,使用键值存储(如Redis)是存储此类数据的首选。 为什么将数据存储在一个常规的应用内variables(对象,例如var connectedClientsData = {} )与将数据存储在Redis之类的键值存储中相比是不好的? 是否只支持扩展(例如,多个基于NodeJS的应用程序服务器可以连接到一个中央键值存储),还是存在一些更严重的缺陷?

简单的RESTauthentication策略?

我正在devise一个可以由多个客户端,networking,手机,第三方等使用的Web服务。我正在寻找REST作为一种可能的解决scheme,我正在考虑身份validation的情况。 我正在努力保持简单和高性能的事情。 为了logging,我正在使用Node.js. 我知道会议不build议可扩展性的原因。 通过https传递每个请求的用户名和密码有什么意见? 例如: HTTP://为MyService /用户/用户名列表授权=和密码=为mypass 这种方法是否有严重的缺点? 它是否会打开安全漏洞,跨站点脚本? 一般来说,Web服务是否有更好的解决scheme?

node.js:标准的方式来存储应用程序的configuration?

有没有标准的方法来存储node.js应用程序的configuration为不同的环境? 我做了什么来完成这个: 创build:node_app_folder / conf / general.js node_app_folder / conf / development.js node_app_folder / conf / production.js general.js: module.exports = { setting: "SOME GENERAL SETTING" ,setting2: … … // global conf has export method extend that just copies/replaces properties from supplied object extend: {…} } development.js和production.js包含特定于环境的设置。 在app.js中: global.conf = require('./conf/general'); // As I use express.js […]