【发布时间】:2012-11-11 07:47:39
【问题描述】:
所以,我有一个如下的路由函数:
var http = require('http').createServer(start);
function start(req, res){
//routing stuff
}
在此之下,我有一个 socket.io 事件监听器:
io.sockets.on('connection', function(socket){
socket.on('event', function(data){
//perform an http response
}
}
当调用套接字事件“事件”时,我想执行如下的 http 响应:
res.writeHead(200, {'Content-disposition': 'attachment; filename=file.zip'})
res.writeHead(200, { 'Content-Type': 'application/zip' });
var filestream = fs.createReadStream('file.zip');
filestream.on('data', function(chunk) {
res.write(chunk);
});
filestream.on('end', function() {
res.end();
});
这最后一部分,当在路由函数中执行时工作得很好,但不幸的是,当它从套接字事件调用时,它当然不起作用,因为它没有引用'req'或'res'对象.我该怎么做呢?谢谢。
【问题讨论】:
标签: node.js socket.io httpresponse