2016-05-26 18 views
0

Ich erhalte Antwort inProbleme auf SailsJS Arbeits WebSocket

io.socket.on('chats', function (e, v) { 
    console.log(e) 
}); 

wenn der Codeblock unten verwenden.

io.socket.get('/chats', function (e, s) { 
    console.log(e); 
}); 

Also, Haupteinstellungen sind in Ordnung. Dann habe ich versucht, ein bisschen anzupassen. Ich wollte die Zimmer-ID weitergeben, um Nachrichten aus bestimmten Räumen zu erhalten, anstatt unnötige Nachrichten zu holen. Aber keine Antwort auf neue Artikel zusätzlich bei der Verwendung von

io.socket.get('/chats/get?room=PJ1RcnwbBxsH3xZn', function (e, s) { 
    console.log(e); 
}); 

jedoch, dass die Lage war, richtig Anfangsdaten zu holen verwendeten return res.json(chats); in ChatsController.get

Von ChatControllers.js

module.exports = { 

    get: function (req, res) { 

     if(!req.session.authenticated){ 
      return res.json({error: true, message: 'You must be logged in to join chat.'}) 
     } 

     if (!req.isSocket) { 
      return res.json({error: true, message: 'Inappropriate request format'}) 
     } 

     sails.log(req.param('room')); 
     if(!req.param('room')){ 
      return res.json({error: true, message: 'Inappropriate room ID'}) 
     } 

     Chats.find({room: req.param('room')}).populate('user').exec(function (err, chats) { 

      if (err) { 
       return res.serverError(err); 
      } 

      Chats.subscribe(req, _.pluck(chats, 'id')); 

      return res.json(chats); 

     }); 
    }, 
..... 

I habe Chats.subscribe(req, _.pluck(chats, 'id')); hinzugefügt, um zu abonnieren. Kann nicht verstehen, was ich in get Aktion verpasst habe. Ich habe gesucht, aber kein gutes Tutorial bekommen. Also erforschte ich die Dokumentation. Können Sie den Fehler beheben?

Danke

Antwort

0

Ich fand Lösung nach mehr Forschung. sails.sockets.join() und sails.sockets.broadcast() war mein Spielzeug.

Danke aber.