当前位置: 首页 > 知识库问答 >
问题:

带有sockjs和stomp客户端设计的Spring websocket

史绍晖
2023-03-14

我正在将Spring网络套接字集成到一个网络应用程序中。我想将其用于在 ajax 中花费很长时间的两个调用。根据我的理解,我看到关于我如何处理有不同的设计选择。我正在考虑以下内容,您能否让我知道什么是最佳选择,如果是,为什么

1)一旦用户通过SockJS登录到应用程序,就打开一个套接字连接,并使用该连接来发送消息和订阅我想要拨打的两个电话。我对这个设计的一个疑问是,如果用户关闭浏览器,套接字连接会保持打开吗?

2)为每个调用打开一个套接字连接,并在收到消息后关闭它,但这里每次建立连接都要占用大量资源。

我是很新鲜的Spring-web套接字,SockJS和STOMP的东西,所以让我知道我的理解是错误的地方?

提前致谢

共有1个答案

元英朗
2023-03-14

> < li>

当用户关闭浏览器时,Web套接字将被断开。你可以在服务器端处理它。我的意思是,你可以再次通知其他用户或什么的。

在浏览器加载后,您需要打开 Web 套接字连接一次。您可以在浏览器打开时保存此连接。通话后不要断开连接。只需停止发送数据包即可。

我觉得这个设计会对你有帮助。

一些有用的链接:

在Spring 4中检测WebSocket连接和断开

关于断开连接的官方问题

更新(2016年3月19日):

有并发性会对你有帮助。这意味着每个新连接都将由新线程处理。因此,它们可以并行工作。当然,线程的数量必须受到ThreadPool的限制。所以,这类问题已经在Spring Web Socket中解决并实现了。

如果你对基础理论感兴趣,那么你可以阅读这个答案

 类似资料:
  • 我有一个带sokjs套接字的节点应用程序。 一些HTML/JS客户端使用stomp over sock JS,但我不明白订阅是如何工作的: 客户端已连接,事件已记录,但范围为$scope。从不打电话通知。如何配置主题订阅? 编辑: 请注意,我一定清楚。 我使用sockjs模块作为websocket服务器。 没有太多的配置:

  • 我们正在将SpringWebSockets集成到我们的应用程序中,我运行了HelloWorld示例,令人惊讶的是,spring为我们连接了一切,以便将服务器端通知推送到客户端。 不过,我有一些简单的问题 1) 队列是如何创建的?我使用的是ActiveMQ,队列名称与我在目的地中指定的不同(例如,像greetings-user3n9\u jn3i)。 2)目标名称是否不同于队列? 3) 我正在使用A

  • 问题内容: 有没有一种方法可以将WebSocket与SockJS客户端和Spring 4服务器一起使用,而不能与STOMP一起使用? 基于Spring网站上的本教程,我知道如何使用Stomp和Spring 4设置基于WebSocket的应用程序。在客户端,我们有: 在服务器端,控制器中包含以下内容: 现在,我了解可以确保如果将消息发送到目的地,则将调用该方法。并且由于已订阅,因此会将邮件发送回。

  • 根据Spring网站上的这个教程,我知道了如何使用Stomp和Spring4建立一个基于WebSocket的应用程序。在客户端,我们有: 在服务器端,控制器中有以下内容: 现在,我明白了确保如果消息发送到目标,那么将调用方法。由于订阅了,将消息发送回。 那么,有什么方法可以用Spring4、SockJS和没有跺脚的情况下做到这一点呢?还是Spring4WebSocket只支持stomp?

  • 客户端设计 客户端设计是CAT系统设计中最为核心的一个环节,客户端要求是做到API简单、高可靠性能、无论在任何场景下客户端都不能影响各业务服务的性能(监控只是公司核心业务流程一个旁路环节)。以下客户端设计以及细节均以java客户端为例子。 设计架构 CAT客户端是java,客户端在收集端数据方面使用ThreadLocal,是线程本地变量,也可以称之为线程本地存储。线程局部变量(ThreadLoca

  • 我们计划将主动 MQ (STOMP) 用于我们的一个项目。其中一个要求是,如果我们发现用户不合适,就将其踢出/禁止。如何通过单板技术实现这一点?有点像在 IRC 中踢球的东西。