【发布时间】:2014-05-12 18:32:46
【问题描述】:
刚刚开始使用 Sails 和 Socket.io。我正在关注文档并在这里设置一个简单的测试项目:
https://github.com/timfulmer/sails-sockets
根据 Sails 文档http://sailsjs.org/#!documentation/sockets,套接字订阅是在第一次套接字调用时设置的:
socket.get()、socket.post() 等是新 Sails 项目中包含的客户端 SDK 中可用的方法。在此示例中,我们将使用它们通过 Socket.io 与后端通信。请注意,无论您是否使用 CRUD 蓝图,都可以使用这些方法。
测试项目使用 CRUD 方法定义了一个快速模型/控制器。它使用socket.get 连接到套接字,并正确接收之前发布的模型实例。
使用socket.post 发布一个新实例使其到达 Sails 服务器并创建新实例。但是,新实例永远不会发送到使用socket.get 创建的连接。即使在两个不同的浏览器选项卡中运行页面。
此外,使用来自浏览器的 GET 请求发布会挂起并且永远不会返回。
我是在错误地阅读文档还是犯了其他新错误?
谢谢,
-- 提姆
【问题讨论】:
-
你还没有向你的仓库提交任何代码。 > 但是,新实例永远不会发送到使用 socket.get 创建的连接。你的意思是实时更新?返回使用
socket.on('message', function(data)) -
对代表感到失望,我为空的回购评论投了你的票 :) 代码已被推送,对此感到抱歉。在
assets/js/app.js中有一个socket.on调用,这是默认sails 生成的存根的一部分。看起来应该可以,但事实并非如此。 -
尝试删除控制器中的所有内容。所以你只是在导出一个空的 obj。让 Sails 蓝图在刚开始时完成工作。 - 另外 - 在您请求模型之前,您不会订阅它。尝试先让客户
get('/socketupdate')
标签: node.js socket.io sails.js