2012-06-18 29 views
18

Soy un principiante en node.js (de hecho, recién empecé hoy). Uno de los conceptos básicos no está claro para mí, lo que estoy preguntando aquí & no pudo encontrar en SO.cómo comunicar entre dos instancias node.js, un cliente, un servidor

de leer algunos tutoriales en la web escribí un lado del cliente & un código del lado del servidor:

lado del servidor (digamos server.js):

var http = require('http'); //require the 'http' module 

//create a server 
http.createServer(function (request, response) { 
    //function called when request is received 
    response.writeHead(200, {'Content-Type': 'text/plain'}); 
    //send this response 
    response.end('Hello World\nMy first node.js app\n\n -Gopi Ramena'); 
}).listen(1337, '127.0.0.1'); 

console.log('Server running at http://127.0.0.1:1337/'); 

lado del cliente (say client.js):

var http=require('http'); 

//make the request object 
var request=http.request({ 
    'host': 'localhost', 
    'port': 80, 
    'path': '/', 
    'method': 'GET' 
}); 

//assign callbacks 
request.on('response', function(response) { 
    console.log('Response status code:'+response.statusCode); 

    response.on('data', function(data) { 
    console.log('Body: '+data); 
    }); 
}); 

Ahora, para ejecutar el servidor, escribo node server.js en el terminal o cmd. & se ejecuta correctamente registra el mensaje en la consola & también emite la respuesta cuando navego a 127.0.0.1:1337.

Pero, ¿cómo puedo ejecutar client.js? No pude entender cómo ejecutar el código del lado del cliente.

+3

nodo no es del lado del servidor lado del cliente. Mira esto. http://stackoverflow.com/questions/5168451/javascript-require-on-client-side –

+2

No estoy seguro de dónde encontró client.js o qué espera que haga, pero eso no es algo que pueda poner en un navegador. Si por cliente, te refieres a otra aplicación Node.js, seguro. Creo que el tutorial que encontraste te instruía sobre cómo escribir un servidor que acceda a los recursos HTTP en otros servidores. – Brad

+0

¿Dónde encontraste que 'client.js'? ¿Lo escribiste tú mismo? ¿Qué estás tratando de lograr con eso? – jsalonen

Respuesta

10

Respuesta corta: se puede usar el comando

node client.js 

para ejecutar el código "lado del cliente", se enviará una solicitud HTTP

En cuanto a lo que es server side y lo que es client side, es realmente depende de el contexto.

Aunque en la mayoría de los casos, client side significa el código que se ejecuta en su navegador o su aplicación de teléfono móvil, server side significa el "servidor" o "servidor" con el que está hablando su navegador o su teléfono móvil.

En su caso, creo que es más como uno habla "servidor" a otro "servidor", y cuando ambos estén en la parte de atrás, ya que eso es lo que Node.js está diseñado para

+0

bien, déjame revisar este método. – gopi1410

+1

@ gopi1410 como dijo Larry, si quiere que su cliente.js hable con su servidor.js, debe cambiar el puerto de su cliente.js a 1337 – xvatar

+0

yup Cambié 'host' a '127.0.0.1' y 'port' a 1337, pero aun así cuando ejecuto 'node client.js', no muestra ningún error, pero tampoco arroja nada en la consola. ¿No debería mostrar el código de estado de la respuesta? – gopi1410

Cuestiones relacionadas