问题标签 [socketcluster]

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 投票
2 回答
386 浏览

javascript - 如何让 SocketCluster 在文件更改时重新启动?

我正在运行http://socketcluster.io/并且我想在文件更改时重新启动我的工作人员。但是,nodemon server.js一旦尝试以无休止重复的墙重新启动,就会失败:

如何安全地重新启动 SocketCluster 以加载新更改?

0 投票
1 回答
964 浏览

ssl - 使用 nginx 和 ssl 配置 SocketCluster

我正在尝试设置我的 SocketCluster 应用程序以使用 SSL。我可以让它在没有 ssl 的情况下在 nginx 上工作,但不能使用它。每当我在浏览器中访问该站点时,我都会看到 nginx 欢迎页面。如果我在浏览器中访问端口 8000,我可以看到套接字集群,但如果使用 https 协议则看不到。

nginx 配置

服务器.js

0 投票
1 回答
643 浏览

javascript - Redux 操作在状态更改时被不必要地触发

我正在尝试将 socketCluster 与一个简单的 redux 应用程序集成。目前,只有一个特性可以获取组件中当前状态的值,并通过中间件将其发送到服务器。

这是我的 actions.js 文件

我的减速机:

我有一个中间件功能,负责将输入发送到服务器

中间件.js

我的客户端 index.js 文件

我的 App.jsx 容器:

我的注册组件:

我面临的问题是中间件/动作在输入中的每个按键上都会被触发。我只想在按钮 Click 事件上调用中间件。

这是我在服务器端得到的输出

如您所见,套接字在输入中的每个按键上都发送动作。单击按钮也不会调用中间件

编辑-我尝试将注册组件转换为容器-但我似乎仍然遇到同样的问题

0 投票
1 回答
126 浏览

strongloop - stronloop 上的 socketcluster.io 部署

考虑到socketcluster和strongloop都有集群设施这一事实,在strongloop PM上部署一个带有socketcluster而不是socket.io的应用程序是否合适?

0 投票
1 回答
1690 浏览

websocket - 使用 sinon 存根套接字客户端

我正在尝试存根 socketcluster-client 以向 socketserver 发出事件。

我不断从 sinon 收到以下错误

这是我的测试套件

})

connect 函数通常需要使用指定端口的参数调用 io.connect({port:4000})

我如何用 sinon 存根?

理想情况下,我希望从存根发出事件以检查我的服务器响应

0 投票
1 回答
925 浏览

socketcluster - Socketcluster 客户端错误 EXCEPTION: SocketProtocolError: Socket hang up

我无法从 Firefox 和 chrome for android 连接到 socketcluster 服务器。有什么解决办法吗?

0 投票
1 回答
116 浏览

node.js - Socketcluster 自定义错误

我正在将 socketcluster 用于我的应用程序。我已经通过链接回调函数实现了套接字事件的中间件身份验证和授权。

如果中间件产生任何错误,我需要使用自定义消息向我的客户端发送错误。我在 socketcluster 文档中找不到任何功能来实现它。

现在,如果这不可能实现,是否有任何内置的 socketcluster 错误可以从 socketcluster 服务器中的中间件调用?如果有,是否有详尽的清单?

任何帮助将非常感激...

PS:我从他们的 github repo 中查看了 socketcluster 源。看起来他们使用了另一个名为 sc-errors 的项目。是否可以将其包含在我自己的项目中并使用其中定义的错误?

0 投票
0 回答
291 浏览

sockets - Redux-saga 和 socket 订阅导致 Uncaught TypeError: Converting circular structure to JSON

在我的聊天应用程序中使用 redux-saga 生成器时,我无法订阅 socketcluster ( http://socketcluster.io/ ) 频道。socketcluster 后端的设置方式是,任何消息都保存在数据库中,然后发布到接收用户的个人频道,该频道以用户的 id 命名。例如,用户 A 的 id 为“123abc”,并会订阅名为“123abc”的频道以获取他们的实时消息。

下面的代码确实接收到发布到通道的新消息,但它在加载时抛出“TypeError:将循环结构转换为 JSON”,并破坏了我在应用程序中的所有其他 redux-saga 生成器。我已经完成了 Chrome Devtools 的挖掘,我的理论是它与 createChannel 函数中创建的队列有关。此外,我尝试在 subscribeToChannel 函数中返回延迟承诺,但这也导致了循环转换错误,我可以根据要求发布该代码。

我首先提到了这个答案:https ://stackoverflow.com/a/35288877/5068616它帮助我获得了以下代码,但我在互联网上找不到任何类似的问题。还有一点需要注意的是,我正在使用 redux-socket-cluster ( https://github.com/mattkrick/redux-socket-cluster ) 来同步套接字和状态,但我不认为它是问题

sagas.js

谢谢您的帮助!

0 投票
1 回答
423 浏览

socket.io - NodeJS 和队列消息服务

在我的节点项目中,我需要有一个进程从队列中读取所有数据,并通过 websockets 将数据实时重新广播到所有订阅的客户端。我想知道是否有可能使用 Redis 实现类似的目标?我可能有几台服务器将数据推送到该队列中。

实现这一目标的正确方法和工具是什么?

谢谢!

0 投票
1 回答
85 浏览

node.js - socketcluster 创建应用程序错误

我正在尝试创建一个 socketcluster 应用程序。

我按照他们网站上提到的初始步骤,在全球范围内安装了 socketcluster npm 模块。

但是当我尝试创建一个 socketcluster 应用程序时,它给了我以下错误。请帮忙!