Ok, este es mi proxy:
Código Javascript
:
Ver originalfunction consultar_titulo(titulo_consulta, callback) {
var socket = io.connect('http://localhost:8080');
socket.emit('consultar_titulo', {
"titulo_consulta": titulo_consulta
});
socket.on('respuesta_consultar_titulo', function (data) {
callback(data.respuesta_emit);
});
Este es mi servidor:
Código Javascript
:
Ver originalvar app = require('http').createServer(handler);
var io = require('socket.io').listen(app);
var consultas_bd = require('../logica_negocio/consultas_bd');
app.listen(8080);
function handler (req, res) {
console.log (" peticion recibida en servidor web: " + req.url);
var nombre = req.url;
if (req.url == "/") {
nombre = "/index.html";
}
fs.readFile(__dirname + nombre, function (err, data) {
if (err) {
res.writeHead(500);
return res.end('error al cargar: ' + req.url);
}
// res.setHeader("Content-Type","img/jpeg"); //MIME TYPE
res.writeHead(200);
res.end(data);
});
}//handler
io.sockets.on('connection', function (socket){
socket.on('consultar_titulo', function(data){
console.log("Servidor(): Conexion (consultar_persona) Recibida.");
consultas_bd.consultar_titulo(data.titulo_consulta, function(respuesta){
socket.emit('respuesta_consultar_titulo', {"respuesta_emit": respuesta});
});//consultar_titulo
});//socket.on
});//io.socket.on
Esta es mi "logica del negocio":
Código Javascript
:
Ver originalexports.consultar_titulo = function(titulo_consulta, respuesta_titulo) {
var elementos = new Array();
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {
if (err)
throw err;
var query = {
"titulo" : titulo_consulta
}
var coleccion = db.collection('videos');
var cursor = coleccion.find(query);
cursor.each(function(err, item) {
if (item != null) {
elementos.push(item);
} else {
db.close();
respuesta_titulo(elementos);
}
});//cursor
});//connect
}// consultar_titulo
Lo unico que podria limpiar es la variable elementos, pero al ser local se supone que esta limpia cada vez que se entra en el metodo.
Saludos