2016-07-30 4 views
0

Ich habe ein Knoten js-Projekt in Visual Studio, das Express verwendet. Ich möchte socket.io mein Projekt wie folgt hinzuzufügen:Verwenden von socket.io in Visual Studio node.js Projekt

var io = require('socket.io')(server); 

jedoch die app.js Datei nicht über einen Server-Variable. Es scheint, dass App in den app.js

module.exports = app; 

Dann app.listen zurückgeführt wird, wo ein Server erstellt werden würde, wird außerhalb der Datei genannt. Kann jemand Socket.io in einem Visual Studio Node js Projekt verwenden?

Antwort

0

Ich fand es heraus. Ich legte den Sockel io-Code in einem eigenen Modul wie folgt:

// ./myService.js 
var socketIo = require('socket.io'); 

module.exports = { 
    startService: function (server) { 
     var io = socketIo(server); 

     io.on('connection', function (socket) { 
      socket.on('receive message', function (question) { 
       io.emit('send message', question); 
      }); 
     }); 
     return io; 
    } 
}; 

Das Visual Studio-Projekt eine Datei hat „./bin/www“, wo der Server-Variable erstellt wird. Ich gehe dann die Server-Variable an das Modul wie folgt aus:

var io = require('../myService'); 
io.startService(server); 
0

Oder Sie direkt die Verbindung in „./bin/www“ Datei wie unten

var io = require('socket.io').listen(server); 

io.sockets.on('connection', function (socket) { 
console.log('client connect'); 
socket.on('echo', function (data) { 
    io.sockets.emit('message', data); 
    }); 
}); 
setzen können