问题标签 [sails.io.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
875 浏览

node.js - Sailsjs 错误:无法在 onlyAllowOneResponse 处多次写入响应

Sails 控制器为 ajax 请求返回正确的响应,但是当通过 io.socket 调用时它不起作用。

套接字请求:

例外:

浏览器上的套接字响应:

根据sailsjs 文档请求/响应将自动处理websockets。

我在这里错过了什么吗?对于套接字请求,我是否需要以不同的方式发送响应?

0 投票
0 回答
60 浏览

node.js - 永远在每 100 秒后重新开始航行

我已经使用sails js(v0.11.2) 和mysql (5.6.22) 和sails_mysql_live_connect构建了基于Web 套接字的应用程序。

我已将 mysql wait_timeout 设置为 100 秒,以便 GC(垃圾收集器)关闭任何未使用的打开连接。

由于 wait_timeout,mysql 现在在 100 秒后关闭与 db 的 Web 套接字连接,并且在 db 连接已关闭时永远重新启动风帆。

每次mysql关闭连接时,我都会在sails中出现以下错误 当mysql关闭连接时在sails中收到错误,然后永远重新启动sails

在不增加wait_timeout的情况下有什么解决方法吗?

0 投票
1 回答
318 浏览

sails.js - Sails JS,如何将请求参数映射到模型?

我想将 request.params 中的 json 数据映射到我的控制器类中的模型。在将模型保存到数据库之前,它在控制器中有一些动作。

它是否有解决方案将 json 数据自动映射到模型对象而无需手动执行此操作?

var email = req.body.email; var phone = req.body.phone;

0 投票
1 回答
37 浏览

node.js - 套接字更新所有订阅模型本身的用户,期望更新的用户

我有用户订阅聊天用户,用户可以通过套接字使自己在线或离线,

其中一位用户具有管理员的角色,他可以通过 Http 请求 User.update 强制用户在线或离线,并且我还添加了 User.publishUpdate 以提醒订阅者。

问题是当经理将用户从离线状态变为在线状态时,用户似乎在线到其他用户期望我们更新的用户自己,当我在sails中启用自动监视时问题消失了。

这里的套接字代码:

这里用户更新:

0 投票
1 回答
152 浏览

angularjs - 在 Sails 中使用 HTML 而不是 ejs

我是Sails框架的新手,我开始研究它,然后发现一切都在ejs中。当我将其转换为 HTML 时,它不起作用。

如果我们不能完全删除它,如何在没有 ejs 或最少 ejs 的情况下使用 AngularJS 在 HTML 中编写客户端。

在哪里编写客户端路由以及如何使用ui-router

0 投票
0 回答
792 浏览

nginx - 通过 nginx 的sails.js socket.io 显示很多“上游超时”

我在带有粘性会话的 nginx 代理后面运行了几个sails.js 后端实例。

我一直在我的 nginx error.log 中看到很多关于sails.js /socket.io/ URL 超时的消息:

并非每个客户端都会发生这种情况,但此类消息的数量很大。并且sails.js 没有显示任何相关错误。

我应该如何调查这些问题的性质?

这是我到目前为止尝试过的(但没有帮助):

  • 将socket.io客户端升级到目前最新版本(1.3.7)
  • 在 nginx 中显式关闭 /socket.io/ 请求的缓存

这是相关的配置文件:

帆 sockets.js:

nginx:

0 投票
1 回答
332 浏览

angularjs - Sailsjs websocket 在 io.socket.on() 的调用中不起作用

我的角度控制器在模型上等待网络套接字的创建信号,以刷新视图上使用的数据。帆模型的名称是 Noticia,所以标识符是 noticia。

这是我的角度控制

然后事情是,当我使用由sails 生成的其余API 创建一个带有POST 请愿的寄存器时,Web 套接字无法正常工作。

我在客户端使用最新的sails.io.js https://github.com/balderdashy/sails.io.js/tree/master/dist

我的模型也与mysql有联系

0 投票
1 回答
4536 浏览

javascript - 如何将 Socket.IO-Client 连接到 Sails.js 服务器?

我花了很长时间尝试将 Socket.IO-Client 连接到在 Sails.js 框架上运行的服务器。客户端基本上是一个在 Raspberry Pi 上使用 Node.js 运行的简单 JavaScript 应用程序。

这个想法是一个简单的设备连接到一个服务器,然后服务器注册该设备并订阅它的消息。设备从服务器接收消息并执行一些操作。我不希望客户端依赖于任何框架,因此,我试图避免使用 Sailsjs-socket.io-client。目前服务器和客户端都在我的本地机器上运行。这是代码:

所以,我在客户端收到错误“无效的命名空间”,如果我是对的,这意味着服务器没有打开“/devices/handshake”。但是,在服务器端,如果我列出现有房间 ID (sails.sockets.rooms()),我可以看到当客户端尝试连接到服务器时,总是会创建一个新房间。

我尝试使用下面的 javascript 从浏览器连接到“/devices/handshake”,显然它有效。它显然与 Sailsjs-socket.io-client 一起运行。

任何想法我做错了什么?

0 投票
1 回答
90 浏览

node.js - 防止 Socket 连接再次初始化

我正在尝试制作一个聊天应用程序,它将第一条消息发送为“嗨。那里”。但是由于某些原因(可能是不稳定的互联网连接),套接字被多次初始化并多次发送“Hi.there”消息。下面是代码。如何停止应用程序发送多条消息?

0 投票
1 回答
1406 浏览

node.js - Sails 套接字 io 连接到与传入的不同的 url

在生产中,当我尝试从客户端 url ' https://something.com/ ' 连接到我的 socket 客户端,我得到一个 404

当我在本地机器上的sails 中建立套接字连接时,它可以工作。

我的本地配置。

客户主机

API主机

HTML

JS

我的生产配置

客户主机

API主机

JS

我确保将 autoConnect 设置为 false 并且唯一的连接是通过 connect() 函数发生的。似乎无论我将什么字符串传递给 connect() 函数(仅在生产中),它都假定客户端 URL(https://something.com/)并从生产 URL 中删除后缀 /api/ (https: //something.com/api/)。