socket.io-die Bindung an eine bestimmte ip-Adresse

Ich habe einen windows server mit IIS und node.js mit sockel.io-für eine interaktive whiteboard-Anwendung, die ich entwickle. Ich möchte sowohl die IIS-website und node.js server auf port 80, aber gebunden an verschiedene IP-Adressen.

Aus was ich finden kann, Buchse.io nicht die Fähigkeit haben, geben Sie die ip-Adresse. Diese Einschränkung kann angeblich überwunden werden, indem eine http-server-Instanz. Ich bin neu in der Buchse.io und node.js und ich bin ein wenig verloren versuchen, dies zu tun. Ich werde gehören die ursprünglichen server-code (lauscht auf einem bestimmten port) und mein Versuch zu instanziieren server auf einer bestimmten IP-Adresse.

Original

(function() {
  var io;
  io = require('socket.io').listen(80);
  io.sockets.on('connection', function(socket) {
    socket.on('drawClick', function(data) {
      socket.broadcast.emit('draw', {
        x: data.x,
        y: data.y,
        type: data.type
      });
    });
  });
}).call(this);

Geändert

(function() {
    var host = "10.70.254.76";
var port = 80;

var http = require("http").createServer();
var io = require("socket.io").listen(http);

http.listen(port, host);
io.sockets.on('connection', function(socket) {
    socket.on('drawClick', function(data) {
        socket.broadcast.emit('draw', {
            x: data.x,
            y: data.y,
            type: data.type
        });
    });
});
}).call(this);

Bekomme ich Fehler: hören Sie EACCES beim starten der geänderte code

Ok, Meine geänderten code funktioniert wenn ich den port auf 8080. Ich bekomme die EACCES-Fehler, wenn ich versuche, mit 80
port 80 ist und verboten gehört es zu sudoers (root-Benutzer) können Sie erzwingen, dass es mit "sudo Knoten app.js" aber ist keine gute Praxis.

InformationsquelleAutor TylerEKnight | 2012-02-23

Schreibe einen Kommentar