将 Nodejs Faye-Client 连接到 Rails Faye 服务器

Posted

技术标签:

【中文标题】将 Nodejs Faye-Client 连接到 Rails Faye 服务器【英文标题】:Connect Nodejs Faye-Client to Rails Faye server 【发布时间】:2015-10-12 14:00:02 【问题描述】:

我有一个在 Rails 下运行的 Faye 服务器(带有 redis 后端),并希望允许 nodejs 脚本通过 Faye 与我的客户端通信。因此,我需要将我的 Nodejs Faye 客户端连接到运行 Faye 的 Rails 进程。

使用:

var client = new faye.Client('http://localhost:6379/faye');
//I also tried ports 3000 and 8000 and verified that redis runs at 6379

faye.Logging.logLevel = 'debug'
faye.logger = function(msg)
    console.log(msg)


client.connect();

我只看到:

[Faye.Client] 用“undefined//undefinedundefined”发起握手

[Faye.Dispatcher] 已选中 “http://localhost:6379/faye”的“长轮询”传输

[Faye.Client] 通过“传出”扩展: "channel":"/meta/handshake","version":"1.0","supportedConnectionTypes":["in-process","websocket","long-polling"],"id":"1"

我真的需要启动一个 nodejs-faye-server 来配置它以使用 redis,还是让 NodeJS 作为 Rails 的客户端就足够了?不幸的是this answer 没有帮助我。有没有人这样做过?如果有,怎么做?

【问题讨论】:

【参考方案1】:

找到答案。原来问题不在于 NodeJS 脚本,而在于我从 Ruby 开始的方式。原来system 等待返回值,因此不处理 Faye 消息。使用spawn() 解决了这个问题。

【讨论】:

以上是关于将 Nodejs Faye-Client 连接到 Rails Faye 服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用 docker-compose 将 NodeJS-App 连接到 MongoDB

如何以正确的方式将 PostgreSQL 连接到 NodeJS? [复制]

使用 NodeJS 将 Angular2 项目连接到 SpringBoot (Java) 的最佳实践

将NodeJS容器连接到MySQL数据库

尝试通过 docker-compose 将 NodeJS 应用程序连接到 MySQL 映像时出现 ECONNREFUSED

连接到 api nodeJS 和 mongoDB