/ / Sails.io.js io.socket.get ('/ user', ...) No implementado en el núcleo todavía - node.js, socket.io, sails.js, sails.io.js

Sails.io.js io.socket.get ('/ user', ...) No implementado en el núcleo todavía - node.js, socket.io, sails.js, sails.io.js

Crear por ejemplo assets/js/dependencies/app.io.js con:

io.socket.on("connect", function socketConnected() {
console.debug("This is from the connect: ", io.socket);
console.debug("WebSocket is connected:", io.socket.isConnected());

io.socket.get("/user", function(resData) {
console.debug(resData);
});
});

Consola

  |>    Now connected to Sails.
___/   For help, see: ....
(using sails.io.js browser SDK @v0.13.7)

app.io.js:3 This is from the connect:  SailsSocket {headers: undefined, eventQueue: Object, isConnecting: false, extraHeaders: Object, hostname: "localhost"…}
app.io.js:4 WebSocket is connected: true
app.io.js:7 Not implemented in core yet    <========= WHY?

NOTA: io-socket-get documentación

¿Por qué estoy recibiendo este mensaje?

¿Algún indicador sobre cómo solucionar esto?

Respuestas

2 para la respuesta № 1

Necesitamos más información como:

  1. ¿Estás utilizando marcos js como Angular?
  2. ¿Estás gestionando tus dependencias con herramientas como Bower?
  3. ¿Cómo está configurado su servidor Sails?

Sobre todo puedo mostrarte cómo configuré mi backend de Sails:

en mi .sailsrc Tengo los ganchos configurados de la siguiente manera

"hooks": {
"csrf": false,
"grunt": false,
"i18n": false,
"pubsub": false,
"session": false,
"sockets": true,
"views": false}

entonces en mi UserController.js Tengo este método simple que permite la comunicación socket.

enableNtofications: function(req, res){

// checking if the request comes from
// a socket request
if(req.isSocket){

// getting the current logged user
var user = req.user;

// subuscribing the client to model changes
User.subscribe(req, [user.id]);

return res.ok();

} else {
return res.badRequest();
}

},

mi frontend utiliza Angular y la ngSails módulo que es una especie de envoltorio de "sails.io" para Angular

y en mi "UserService.js" puedo hacer algo como

        // waiting for notifications on User
$sails.on("user", function(event) {
if (event) {
// manage the message here...
}
});

y luego llamar al método del servidor para habilitar los sockets

        // calling the service
return $sails.post("/user/enableNtofications").then(
// ok
function() {},
// ko
function(data) {
console.log("enable notifications KO");
console.log(data.error);
});

(También necesita inyectar el módulo "$ sails" y configurarlo correctamente ...)

Espero que esto pueda ayudarte