【问题标题】:Socket.io and Extjs: Retrieving data for StoreSocket.io 和 Extjs:为 Store 检索数据
【发布时间】:2015-12-08 16:30:14
【问题描述】:

Extjs Store 有没有办法以实时提要的方式从 Socket.io 获取数据?没有投票的地方。

我发现需要轮询,我将使用 express 从 URL 获取 json 格式的数据。我在想我然后做一个 setTimeout 来为 Store 加载。就像我说的投票一样。

var app = express();

app.get('/getnames', function(request, response) {

    response.json({data:[{id:1,name:"John"}, {id:2, name:"James"}]});
});

除此之外还有什么办法吗?

或者有什么建议吗?除了使用 setTimeout。

谢谢

【问题讨论】:

    标签: javascript node.js extjs socket.io store


    【解决方案1】:

    您不需要对 websocket 框架使用 longpolling。您需要做的就是监听事件并编写处理程序。例如;

    var socket = io.connect("localhost:8080");
    socket.on("feed", function(data){
        myStore.loadData([data], true);
    });
    

    当您从 socket.io 服务器发出“feed”事件时,上面的代码会立即将 feed 数据添加到存储中。使用 node.js 在你的 socket.io 服务器上发出数据;

    io.emit("feed", {"id":123, "msg":"example feed"});
    

    当然,您必须编写这样的逻辑:当某人(或您的应用程序)发布提要时,它应该向服务器发出一条消息,而服务器必须向其他客户端发出这条消息。这样一来,所有客户端都有一个实时提要查看器。

    【讨论】:

      猜你喜欢
      • 2013-09-04
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多