首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sails.io.js io.socket.get('/user',.)尚未在核心实施

Sails.io.js io.socket.get('/user',.)尚未在核心实施
EN

Stack Overflow用户
提问于 2016-10-13 12:33:44
回答 1查看 663关注 0票数 0

创建例如:assets/js/dependencies/app.io.js

代码语言:javascript
复制
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);
  });
});

控制台

代码语言:javascript
复制
  |>    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文档

我为什么要收到这条消息?

关于如何解决这个问题有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-13 17:20:07

我们需要更多的信息,例如:

  1. 您是在使用js框架吗?
  2. 您是否使用诸如Bower之类的工具来管理您的依赖关系?
  3. 您的Sails服务器如何配置?

最重要的是,我可以向您展示如何配置我的Sails后端:

在我的.sailsrc中,我的钩子配置如下

代码语言:javascript
复制
"hooks": {
"csrf": false,
"grunt": false,
"i18n": false,
"pubsub": false,
"session": false,
"sockets": true,
"views": false}

然后,在我的UserController.js中,我有一个简单的方法来启用套接字通信

代码语言:javascript
复制
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”中,我可以做这样的事情

代码语言:javascript
复制
        // waiting for notifications on User
        $sails.on('user', function(event) {
            if (event) {
                // manage the message here...
            }
        });

然后调用server方法,以便启用套接字。

代码语言:javascript
复制
        // calling the service
        return $sails.post('/user/enableNtofications').then(
            // ok
            function() {},
            // ko
            function(data) {
                console.log("enable notifications KO");
                console.log(data.error);
            });

(您还需要注入“$sails”模块并正确配置它.)

希望这能帮到你

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40021125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档