/ / Sails.io.js io.socket.get ('/ user',…) Не реалізовано в ядрі - node.js, socket.io, sails.js, sails.io.js

Sails.io.js io.socket.get ('/ user', ...) Ще не реалізовано в серверах - node.js, socket.io, sails.js, sails.io.js

Створити напр. assets/js/dependencies/app.io.js з:

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);
});
});

Консоль

  |>    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?

ПРИМІТКА: io-socket-документація

Чому я отримую це повідомлення?

Будь-які вказівки про те, як це виправити?

Відповіді:

2 для відповіді № 1

нам потрібна додаткова інформація:

  1. Ви використовуєте рамки js, як Angular?
  2. Ви керуєте своїми залежностями за допомогою таких інструментів, як Bower?
  3. як налаштований сервер Sails?

Перш за все, я можу показати вам, як налаштовано мій сервер Sails:

в моєму .sailsrc У мене є гачки налаштовані наступним чином

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

то в моєму UserController.js У мене є цей простий метод, який дозволяє сокет зв'язку

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();
}

},

мій frontend використовує Angular і a ngSails модуль, який є свого роду обгорткою "sails.io" для Angular

і в моєму "UserService.js" я можу зробити щось подібне

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

а потім викликати метод сервера, щоб увімкнути сокети

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

(Вам також потрібно вставити модуль "$ sails" і налаштувати його належним чином ...)

Сподіваюся, що це може допомогти вам