web-dev-qa-db-fra.com

Utilisation de node.js pour écouter sur 2 ports différents

J'utilise actuellement Sockets.io pour communiquer avec les clients, en envoyant JSON et ainsi de suite, à partir d'un port.

Tout fonctionne bien, mais ce que j'aimerais faire, c'est écouter simultanément sur un autre port pour créer un type de page d'administration à des fins de test.

Par exemple, la page aurait un bouton pour envoyer un certain type de JSON pour tous les clients connectés sur l'autre port.

Si ce n'est pas idéal, toute aide sur d'autres solutions simples serait formidable.

26
Josh Jones

Créez simplement une autre instance de http et mettez-la à l'écoute du port qui vous intéresse. Permettez-moi de vous montrer un exemple:

var http = require('http');

http.createServer(onRequest_a).listen(9011);
http.createServer(onRequest_b).listen(9012);

function onRequest_a (req, res) {
  res.write('Response from 9011\n');
  res.end();
}

function onRequest_b (req, res) {
  res.write('Response from 9012\n');
  res.end();
}

Ensuite, vous pouvez le tester (avec votre navigateur ou curl):

$ curl http://localhost:9011
Response from 9011

$ curl http://localhost:9012
Response from 9012
53
Herman Junge