我正在为注册用户创建聊天应用程序,使用nodejs(0.8.15)、express(>3.0)框架和mongodb。
var express = require('express')
, http = require('http')
, path = require('path')
, io = require('socket.io');
var app = express()
, server = http.createServer(app)
, io = io.listen(server);
app.configure(function() {
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('secret'));
app.use(express.session({cookie: {maxAge: 60000*100}}));
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function() {
app.use(express.errorHandler());
});
app.get('/chat', function(req, res) {
res.render('chat');
});
server.listen(app.get('port'), function() {
console.log("Express server listening on port " + app.get('port'));
});
io.sockets.on('connection', function (socket) {
socket.on('start-chat', function() {
// here i need to know req and res
// for example, i need to write:
// socket.username = req.session.username;
});
});
问:如何让res和req对象在像上面的代码一样聊天时与它们一起工作?还是我在与用户Auth创建聊天时走错了路?
您需要使用授权
。
var socketIO = require('socket.io').listen(port);
socketIO.set('authorization', function(handshakeData, cb) {
//use handshakeData to authorize this connection
//Node.js style "cb". ie: if auth is not successful, then cb('Not Successful');
//else cb(null, true); //2nd param "true" matters, i guess!!
});
socketIO.on('connection', function (socket) {
//do your usual stuff here
});
请帮我找出问题所在。我太过分了,请帮我解决这个问题
做这件事的好方法是什么?
我正试图通过改型2获得原始响应。0.2. 到目前为止,我试图使用以下代码行打印响应,但它打印的是地址,而不是确切的响应正文。 日志i(“原始消息”,response.body()。toString());
如果我尝试实现一个自定义转换器(我在网上找到了一些例子),它会抱怨我没有实现抽象方法convert(F),而这些例子都没有实现。 谢了。
问题内容: 如何使用request下载文件内容,并使用aws-sdk for node直接将其流式传输到s3? 下面的代码给了我,这使得请求似乎没有返回可读流… 每个aws- sdk文件都 必须是一个对象。 我在这里做错了什么? 可以使用s3-upload-stream模块将其关闭,但是我希望限制我的依赖关系。 问题答案: 如果要手动侦听响应流,则要使用该对象:
问题内容: 为了查看我在处理传入数据方面的表现如何,我想测量TCP和UDP套接字上的队列长度。 我知道我可以通过套接字选项获取队列大小,并且可以告诉我有关TCP套接字的信息。但是对于UDP,/ ioctl仅返回下一个未决数据报的大小。有没有一种方法可以获取UDP的队列大小,而无需解析系统表,例如? 问题答案: 如ldx所述,ioctl或getsockopt不支持它。在我看来,SIOCINQ的当前实