问题标签 [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 投票
1 回答
376 浏览

node.js - socketcluster 将客户端从一个工作人员传递给另一个工作人员

一般来说,我对socketcluster和sockets很陌生。所以我使用了来自https://github.com/devonJS/socket-cluster-chat/的终端聊天示例

我想将其扩展到 2 个工人而不是 1 个,特别是我想让第二个工人作为备份。因此,如果第一个工作人员死亡,我希望所有客户端都连接到备份工作人员。应该有可能做到这一点吗?

我已经玩了一点,但我无法做到正确。我真的很感激一个正确方向的指针。我知道还有其他解决方案,例如永远或 nginx,但我想自己实现它,因为我认为只有那时我才理解它。我没有发布代码,因为它很多,但如果需要,我可以编辑它。再次感谢任何指针。干杯

0 投票
1 回答
232 浏览

websocket - 带有 Pub Sub on Cloud 的套接字集群

我正在为 webApp 创建一个传输层到前端。用户可以通过移动应用程序、浏览器进行连接。传输层是多个应用程序的前端,包括聊天应用程序、多页 Web 应用程序、通知和电子邮件服务器。规模约为 4000 并发用户。很少有场景不同的服务可能还需要相互交互。例如,聊天服务器可能会发送电子邮件。

我正在寻找这个传输层的最佳设计。整个系统需要部署在云上,但需要独立于供应商。

我的设计: 1. 通过 NettoSphere ( https://github.com/Atmosphere/nettosphere ) 或带有用于 HTTP 轮询的 FallBacks 的 Netty 创建套接字。2. 将 Socket 层与 Redis 之类的 Pub/Sub 连接(目前使用 Cloud 的 Pub/Sub)。每个功能服务器(电子邮件、聊天等)都有自己的频道。

疑问: 1. 我是不是矫枉过正?我可以使用现成的货架库吗?我已经搜索但找不到。我觉得这应该是一个常见的用例,并且应该有现成的东西。2. 对于 Java,Nettosphere 会跨集群扩展吗?或者我应该在 Node.js 中使用 SocketCluster。我更喜欢Java。

0 投票
1 回答
272 浏览

java - 无法使用 socketcluster Java 客户端验证 coinigy websocket 流

我正在尝试使用 Coinigy websocket api 来获取实时交易流。

但我收到一个错误:

{"rid":2,"error":"您已连接,但此套接字尚未经过身份验证。请发出带有凭据有效负载的 auth 事件。"} {"data":{"pingTimeout":20000,"id":" BltoRYWc7k1dYgeRAHm0","isAuthenticated":false},"rid":1}

我正在使用的代码如下

0 投票
0 回答
243 浏览

java - java依赖(maven,gradle)和scala(sbt)

我来自 javscript,现在学习 scala 和 java 生态系统。在 javascript 中,它就像 npm install/yarn add 一样简单,但在 java 生态系统中对我来说似乎有点复杂。

我已经用 apache kafka 开始了 scala。然后学习了一点 scala 框架,例如 Play、akka、Sangria(graphql)。scala 框架与 sbt 配合得很好。当我需要在我的 sbt scala 项目中使用 Java 库时出现问题。或者一般来说,我不明白 java 构建系统是如何工作的。例如,如果我想将 Apache kafka 添加到任何系统。(maven、gradle、sbt)

我测试了 maven 和 sbt 并且它工作。可能 gradle 也会。

这个不行 https://github.com/apollographql/apollo-android

对于 maven 项目(http://mvnrepository.com/artifact/com.apollographql.apollo/apollo-runtime),具有“中央”存储库的版本可以工作(例如版本 0.4.1)但是具有“ApolloGraphQl”存储库的版本不能工作(如版本0.4.3)

对于 gradle 项目。它仅在我将 jcenter() 放在存储库部分时才有效

对于 Sbt 项目。它与maven相同。0.4.1 有效(中央回购)和 0.4.3 无效(ApolloGraphQl 回购)

另一个,https://github.com/sacOO7/socketcluster-client-java 这个,gradle 工作,但 maven 和 sbt 不适用于所有版本。我在 maven 上找不到这个包,但在https://bintray.com/sacoo7/Maven/socketcluster-client

对我来说,这是一个大问题......我不知道是否有一个单一的来源和多种构建它的方法(如 npm 或 yarn?)或者......我不知道...... sbt 似乎一些与“未解决的依赖...未找到”有关的问题,但除了 sbt 我无法在 Java 项目(Maven、gradle 或其他)中自由使用 Java 库 可能我是不了解 Java 生态系统的人。任何人都可以帮助解决这个问题。我是 Windows 10 64 位,IntelliJ IDEA 2017.2.5。我用 scala 2.12.4、sbt 1.0.3 和 maven modelVersion 4.0.0 和 gradle sourceCompatibility 1.8 做了 scala 项目

解决 了...我想通了。在你的 build.sbt 放这个。

我不是很清楚,但我认为... sbt 尝试在某个默认存储库中查找库(我不确定是哪一个)如果它找不到那是未找到的错误。所以我必须手动设置存储库。可能每个构建系统都有。

0 投票
1 回答
248 浏览

socketcluster - 为什么我有一个客户端每 10 秒重新连接一次

尝试使用 socketcluster 在浏览器窗口之间交换事件。

在发件人方面,我有:

然后在服务器上,我让工作人员发布一个新事件:

在接收方我有:

在 Chrome 的 js 控制台中,我看到双方 10 秒后,客户端连接被拒绝:

我看到重新连接时某些事件丢失了。

问:这正常吗?

问:10s的限制可以调吗?

0 投票
2 回答
1702 浏览

angularjs - 套接字连接因未知原因而失败

我正在尝试连接到远程套接字服务器,但出现错误:“套接字连接因未知原因失败”

花了很多时间,我找不到解决方案(请帮助我/谢谢

在此处输入图像描述

我的客户部门:socketcluster-client 9.0.2,angularjs 1.5.7在此处输入图像描述

0 投票
1 回答
75 浏览

java - 如何验证套接字?

我正在使用 Socket Cluster,并且我(此处的链接在此处输入链接描述)有一个 OAuth 应用程序。所以我在socket.connect()方法中得到了 nullPointerException 。这里的语法。

您在构造函数中看到令牌了吗?我在进行改造调用的类中调用此方法,当我获得访问令牌时,我将其提供给那里。在 socket.connect() 中,它给出了 nullPointerException。

0 投票
0 回答
174 浏览

java - 套接字集群。Emitter.Listener 不工作

首先这个问题没有重复,因为在这个问题中只有吐司问题[ Android Emitter.Listener not working。我对吐司没有意见。我正在使用SocketCluster https://github.com/sacOO7/socketcluster-client-java,而不是Sokcet.IO. 所以我的问题是,这Emitter.Listener不起作用。我连接成功,但在那个监听器中我需要提供我的令牌,否则在服务器中会有一些例外。服务器说它没有从客户端获得 PONG。

现在我将添加链接并且有图片。在那里我很好地解释了我的问题,所以你可以更容易理解。

这里也是代码。

0 投票
1 回答
1248 浏览

node.js - Node.js 环境中的水平缩放和 GraphQL

我正在尝试构建一个包含即时消息传递模块的应用程序,主要挑战之一是保持应用程序可扩展,无论用户数量或交换的消息是多少。

一篇文章中,我读到可以使用带有“订阅”的 GraphQL 构建实时应用程序,除此之外,它使用起来很简单,并且具有最小化往返对象检索的优点,因此资源使用更少。

但是如果我们需要向系统添加一个新的服务器/节点以便水平扩展呢?这可能使用 GraphQL 吗?

以允许水平缩放的 websockets 实现为例,有SocketCluster。我想知道单独由 GraphQL 开发的应用程序是否可以跨多个节点/机器进行扩展,或者它必须与另一个框架(如 SocketCluster)一起使用才能实现这一目标。

0 投票
1 回答
500 浏览

vue.js - 如何在方法中将事件监听器添加到 Vue 套接字集群客户端?

我尝试在方法内而不是在启动时添加 Vue 套接字集群连接。这是我的研究结果。我看到几个问题。我在名为 connect() 的方法中添加了连接指令,该方法通过单击另一个组件来调用。它可以工作,但是事件侦听器存在问题。我尝试使用 Vue.extend 添加一个以将其添加到连接中,但它会阻止对组件进行的任何更新。例如,在我的代码中,我添加了 this.msg="this is a test"; 但是在我添加事件侦听器后,味精突变不起作用。

我还尝试使用 this.$options.SeoScanEvents.nameofwebsocketmessage 添加事件侦听器作为 vue.extend 的替代方案,但它确实有效。

此代码使用虚拟 vue.js 应用程序的结构。所以如果你想复制这个问题,你只需要安装一个 VUEJS 应用程序的虚拟结构,然后将 main.js 和 HelloWorld.vue 替换为以下内容。然后,您需要 socketcluster.io 中的默认 server.js 和 worker.js 在端口 8000 上运行。它应该返回一个随机数。

main.js

你好世界.vue