Създаване напр. 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-get документация
Защо получавам това послание?
Всички насоки за това как да се определи това?
Отговори:
2 за отговор № 1имаме нужда от повече информация като:
- използвате js рамки като ъглова?
- управлявате вашите зависимости с инструменти като Bower?
- как е конфигуриран вашият Sails сървър?
Преди всичко мога да ви покажа как съм конфигурирал Sails backend:
в моето .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();
}
},
моят интерфейс използва ъглова и ngSails модул, който е вид обвивка "sails.io" за ъглова
и в моя "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" и да го конфигурирате правилно ...)
Надявам се това да ви помогне