问题标签 [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.
node.js - Sailsjs 错误:无法在 onlyAllowOneResponse 处多次写入响应
Sails 控制器为 ajax 请求返回正确的响应,但是当通过 io.socket 调用时它不起作用。
套接字请求:
例外:
浏览器上的套接字响应:
根据sailsjs 文档请求/响应将自动处理websockets。
我在这里错过了什么吗?对于套接字请求,我是否需要以不同的方式发送响应?
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 连接已关闭时永远重新启动风帆。
在不增加wait_timeout的情况下有什么解决方法吗?
sails.js - Sails JS,如何将请求参数映射到模型?
我想将 request.params 中的 json 数据映射到我的控制器类中的模型。在将模型保存到数据库之前,它在控制器中有一些动作。
它是否有解决方案将 json 数据自动映射到模型对象而无需手动执行此操作?
var email = req.body.email; var phone = req.body.phone;
node.js - 套接字更新所有订阅模型本身的用户,期望更新的用户
我有用户订阅聊天用户,用户可以通过套接字使自己在线或离线,
其中一位用户具有管理员的角色,他可以通过 Http 请求 User.update 强制用户在线或离线,并且我还添加了 User.publishUpdate 以提醒订阅者。
问题是当经理将用户从离线状态变为在线状态时,用户似乎在线到其他用户期望我们更新的用户自己,当我在sails中启用自动监视时问题消失了。
这里的套接字代码:
这里用户更新:
angularjs - 在 Sails 中使用 HTML 而不是 ejs
我是Sails框架的新手,我开始研究它,然后发现一切都在ejs中。当我将其转换为 HTML 时,它不起作用。
如果我们不能完全删除它,如何在没有 ejs 或最少 ejs 的情况下使用 AngularJS 在 HTML 中编写客户端。
在哪里编写客户端路由以及如何使用ui-router
?
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:
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有联系
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 一起运行。
任何想法我做错了什么?
node.js - 防止 Socket 连接再次初始化
我正在尝试制作一个聊天应用程序,它将第一条消息发送为“嗨。那里”。但是由于某些原因(可能是不稳定的互联网连接),套接字被多次初始化并多次发送“Hi.there”消息。下面是代码。如何停止应用程序发送多条消息?
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/)。