首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring boot在与http不同端口上配置websocket

在 Spring Boot 中,要在与 HTTP 不同的端口上配置 WebSocket,您需要创建一个单独的 Server 实例来处理 WebSocket 连接。以下是如何在 Spring Boot 中配置 WebSocket 以侦听不同端口的步骤:

  1. 添加依赖:在 pom.xml 文件中添加 Spring Boot WebSocket 依赖:
代码语言:javascript
复制
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
  1. 创建 WebSocket 配置类:创建一个新的配置类,继承 AbstractWebSocketMessageBrokerConfigurer,并重写 registerStompEndpointsconfigureMessageBroker 方法。在这个配置类中,您可以指定 WebSocket 服务器的端口。
代码语言:javascript
复制
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/websocket").setAllowedOrigins("*").withSockJS();
    }

}
  1. 创建 WebSocket 服务器:创建一个新的类,实现 WebServerFactoryCustomizer<ConfigurableWebServerFactory> 接口。在这个类中,您可以指定 WebSocket 服务器的端口。
代码语言:javascript
复制
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;

@Component
public class WebSocketServerCustomizer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {

    @Override
    public void customize(ConfigurableWebServerFactory factory) {
        factory.setPort(8081); // 指定 WebSocket 服务器的端口
    }

}

在这个示例中,我们将 WebSocket 服务器的端口设置为 8081。您可以根据需要更改此端口。

  1. 创建 WebSocket 控制器:创建一个新的控制器类,用于处理 WebSocket 消息。在这个控制器中,您可以使用 @MessageMapping 注解来处理特定的消息。
代码语言:javascript
复制
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Controller;

@Controller
public class WebSocketController {

    @MessageMapping("/chat")
    @SendTo("/topic/messages")
    public String processMessage(String message) {
        return "Received: " + message;
    }

}
  1. 测试 WebSocket 连接:使用 WebSocket 客户端(如浏览器的 WebSocket API 或第三方工具)连接到 WebSocket 服务器。确保您的 WebSocket 客户端连接到正确的端口(在本例中为 8081)。

完成以上步骤后,您应该已经成功地在 Spring Boot 中配置了一个监听不同端口的 WebSocket 服务器。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2019年Spring Boot不可错过的22道面试题!

访问spring官网页面,我们就会看到可以我们的应用程序中使用的所有 Spring 项目的不同功能。...只有执行机构端点在防火墙后访问时,才建议禁用安全性。 7、如何在自定义端口上运行 Spring Boot 应用程序?...WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信信道。 1、WebSocket 是双向的 -使用 WebSocket 客户或服务器可以发起消息发送。...2、WebSocket 是全双工的 -客户和服务器通信是相互独立的。 3、单个 TCP 连接 -初始连接使用 HTTP,然后将此连接升级到基于套接字的连接。...然后这个单一连接用于所有未来的通信 4、Light - http 相比,WebSocket 消息数据交换要轻得多。 20、什么是 AOP? 软件开发过程中,跨越应用程序多个点的功能称为交叉问题。

8.3K10

SpringBoot 面试题及答案

只有执行机构端点在防 火墙后访问时,才建议禁用安全性。 7.如何在自定义端口上运行 Spring Boot 应用程序?...WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信信道。 WebSocket 是双向的 -使用 WebSocket 客户或服务器可以发起消息发送。...WebSocket 是全双工的 -客户和服务器通信是相互独立的。 单个 TCP 连接 -初始连接使用 HTTP,然后将此连接升级到基于套接字的连接。...然后这 个单一连接用于所有未来的通信 Light - http 相比,WebSocket 消息数据交换要轻得多。 20. 什么是 AOP?...软件开发过程中,跨越应用程序多个点的功能称为交叉问题。这些交叉问题应用程 序的主要业务逻辑不同。因此,将这些横切关注业务逻辑分开是面向方面编程(AOP)的 地方。 21.

7.1K20

2019年Spring Boot面试都问了什么?快看看这22道面试题!

访问spring官网页面,我们就会看到可以我们的应用程序中使用的所有 Spring 项目的不同功能。...只有执行机构端点在防火墙后访问时,才建议禁用安全性。 7、如何在自定义端口上运行 Spring Boot 应用程序?...WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信信道。 1、WebSocket 是双向的 -使用 WebSocket 客户或服务器可以发起消息发送。...2、WebSocket 是全双工的 -客户和服务器通信是相互独立的。 3、单个 TCP 连接 -初始连接使用 HTTP,然后将此连接升级到基于套接字的连接。...然后这个单一连接用于所有未来的通信 4、Light - http 相比,WebSocket 消息数据交换要轻得多。 20、什么是 AOP? 软件开发过程中,跨越应用程序多个点的功能称为交叉问题。

4.4K10

2021年SpringBoot面试题30道「建议收藏」

什么是 Spring Profiles? 22. 如何在自定义端口上运行 Spring Boot 应用程序 23. 如何实现 Spring Boot 应用程序的安全性? 24....Spring Boot配置文件有哪几种格式?它们有什么区别? 主要有.properties 和 .yml格式,它们的区别主要是书写格式不同。...如何在自定义端口上运行 Spring Boot 应用程序 可以 application.properties 配置文件中指定端口,比如server.port = 8090 23....WebSocket 是双向的 ,使用 WebSocket 客户或服务器可以实现消息发送。 WebSocket 是全双工的 ,客户和服务器通信是相互独立的。...WebScoket 使用单个 TCP 连接 ,http 相比,WebSocket 消息数据交换要轻得多。 25. Spring Boot 中的监视器是什么?

6.7K30

面试之SpringBoot

只有执行机构端点在防火墙后访问时,才建议禁用安全性。 如何在自定义端口上运行 Spring Boot 应用程序?...为了自定义端口上运行 Spring Boot 应用程序,您可以 application.properties 中指定端口。 server.port = 8090 什么是 YAML?...WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信信道。 WebSocket 是双向的 -使用 WebSocket 客户或服务器可以发起消息发送。...WebSocket 是全双工的 -客户和服务器通信是相互独立的。 单个 TCP 连接 -初始连接使用 HTTP,然后将此连接升级到基于套接字的连接。...然后这个单一连接用于所有未来的通信 Light - http 相比,WebSocket 消息数据交换要轻得多。 什么是 AOP? 软件开发过程中,跨越应用程序多个点的功能称为交叉问题。

2.8K10

2022 最新 Spring Boot 面试题 (一)

只有执行机构端点在防火墙后访问时, 才建议禁用安全性。 7、如何在自定义端口上运行 Spring Boot 应用程序?...为了自定义端口上运行 Spring Boot 应用程序, 您可以 application.properties 中指定端口。 server.port = 8090 8、什么是 YAML?...2、 WebSocket 是全双工的 -客户和服务器通信是相互独立的。 3、单 个 TCP 连接 -初始连接使用 HTTP,然 后将此连接升级到基于套接字的连接 。...然后这个单一连接用于所有未来的通信 4、 Light - http 相比, WebSocket 消息数据交换要轻得多。 20、什么是 AOP?...软件开发过程中, 跨越应用程序多个点的功能称为交叉问题。 这些交叉问题 应用程序的主要业务逻辑不同。 因此, 将这些横切关注业务逻辑分开是面向方 面编程( AOP) 的地方。

16110

2022年Java秋招面试求职必看的Spring Boot面试题

只有执行机构端点在防火墙后访问时,才建议禁用安全性。7、如何在自定义端口上运行Spring Boot应用程序?...为了自定义端口上运行 Spring Boot 应用程序,您可以application.properties 中指定端口。server.port = 80908、什么是YAML?...2、WebSocket 是全双工的 -客户和服务器通信是相互独立的。 3、单个 TCP 连接 -初始连接使用 HTTP,然后将此连接升级到基于套接字的连接。...然后这个单一连接用于所有未来的通信 4、Light - http 相比,WebSocket 消息数据交换要轻得多。20、什么是AOP?软件开发过程中,跨越应用程序多个点的功能称为交叉问题。...这些交叉问题应用程序的主要业务逻辑不同。因此,将这些横切关注业务逻辑分开是面向方面编程(AOP)的地方。21、什么是Apache Kafka?

1.1K20

使用 Nacos Spring Boot 项目中实现服务注册配置管理

使用 Nacos Spring Boot 项目中实现服务注册配置管理 摘要: 本文主要介绍如何在 Spring Boot 项目中使用 Nacos 作为服务注册中心和配置中心。...Nacos 是阿里巴巴开源的一款优秀的服务注册配置中心产品,它能够帮助我们轻松实现微服务的动态注册发现、配置管理等功能。 1....添加 Maven 依赖 Spring Boot 项目中使用 Nacos,首先需要添加相关的 Maven 依赖。以下是必要的依赖: <!...添加注解 Spring Boot 的启动类上添加 @EnableDiscoveryClient 注解,使得应用可以被 Nacos 识别并注册。...希望这篇技术博客能够帮助你更好地理解和使用 Nacos Spring Boot 项目中!‍ 原创声明 ======= · 原创作者: 猫头虎

55010

Spring Boot面试题(2020最新版)

这可以使用配置文件来完成。Spring Boot 使得使用配置文件非常简单。 如何在自定义端口上运行 Spring Boot 应用程序?...为了自定义端口上运行 Spring Boot 应用程序,您可以application.properties 中指定端口。...WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信信道。 1、WebSocket 是双向的 -使用 WebSocket 客户或服务器可以发起消息发送。...2、WebSocket 是全双工的 -客户和服务器通信是相互独立的。 3、单个 TCP 连接 -初始连接使用 HTTP,然后将此连接升级到基于套接字的连接。...然后这个单一连接用于所有未来的通信 4、Light - http 相比,WebSocket 消息数据交换要轻得多。 什么是 Spring Data ?

2.7K30

Spring Boot项目Windows上的自启动策略Windows自动登录配置

Spring Boot项目Windows上的自启动策略Windows自动登录配置 摘要 你好,我是猫头虎博主。...今天,我们将探讨Windows环境中为Spring Boot项目配置自启动的不同方法,并深入到Windows的自动登录功能。如果你正考虑如何提高应用程序的可用性或简化部署流程,那么请继续阅读!...今天的数字化时代,为Spring Boot项目Windows环境中实现自启动及Windows的自动登录配置成为了许多开发者和企业的关注焦点。...“操作”选项卡中设置任务启动你的Spring Boot应用的脚本。 “触发器”选项卡中设置任务系统启动时执行。...接下来的对话框中,输入用户的密码两次,然后点击“确定”。 总结 我们已经涵盖了四种Windows上配置Spring Boot项目自启动的方法,并详细描述了如何设置Windows的自动登录。

18810

Springboot面试问题总结

问:如何将Spring引导应用程序运行到自定义端口? 要在自定义端口上运行spring引导应用程序,可以application.properties中指定端口。...答:WebSocket是一种计算机通信协议,通过单个TCP连接提供全双工通信通道。 WebSocket是双向的——使用WebSocket客户或服务器都可以发起发送消息。...WebSocket是全双工的——客户和服务器之间的通信是相互独立的。 单个TCP连接——初始连接使用HTTP,然后将此连接升级为基于套接字的连接。...然后,这个单一连接将用于未来的所有通信 轻- WebSocket消息数据交换比http轻得多。 Spring Boot + WebSockets的例子 什么是AOP?...如何Spring Boot一起使用? 答:软件开发过程中,跨越应用程序多个点的功能称为横切关注点。这些横切关注点不同于应用程序的主要业务逻辑。

3.3K10

Spring Boot系列--面试题和参考答案

问:如何将Spring引导应用程序运行到自定义端口? 答:要在自定义端口上运行spring引导应用程序,可以application.properties中指定端口。...答:WebSocket是一种计算机通信协议,通过单个TCP连接提供全双工通信通道。 ? WebSocket是双向的——使用WebSocket客户或服务器都可以发起发送消息。...WebSocket是全双工的——客户和服务器之间的通信是相互独立的。 单个TCP连接——初始连接使用HTTP,然后将此连接升级为基于套接字的连接。...然后,这个单一连接将用于未来的所有通信 轻- WebSocket消息数据交换比http轻得多。 Spring Boot + WebSockets的例子 问:什么是AOP?...如何Spring Boot一起使用? 答:软件开发过程中,跨越应用程序多个点的功能称为横切关注点。这些横切关注点不同于应用程序的主要业务逻辑。

4.4K20

SpringBoot面试题整理,常问SpringBoot面试题汇总(2020版)

这可以使用配置文件来完成。Spring Boot 使得使用配置文件非常简单。 12、如何在自定义端口上运行 Spring Boot 应用程序?...为了自定义端口上运行 Spring Boot 应用程序,您可以application.properties 中指定端口。...WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信信道。 1、WebSocket 是双向的 -使用 WebSocket 客户或服务器可以发起消息发送。...2、WebSocket 是全双工的 -客户和服务器通信是相互独立的。 3、单个 TCP 连接 -初始连接使用 HTTP,然后将此连接升级到基于套接字的连接。...然后这个单一连接用于所有未来的通信 4、Light - http 相比,WebSocket 消息数据交换要轻得多。 21、什么是 Spring Data ?

1.4K10

Springboot +WebSocket学习

轮询的效率低,非常浪费资源(因为必须不停连接,获知HTTP连接始终打开) http协议: websocket协议: 总结: WebSocket是一种单个TCP连接上进行全双工通信的协议。...WebSocket的特点 (1)建立 TCP 协议之上,服务器的实现比较容易。 (2) HTTP 协议有着良好的兼容性。...总结:websocket主要是服务器主动向客户推送消息,客户保持长连接,当然前提是客户不刷新页面,否则无意义 webSocket协议 本协议有两部分:握手和数据传输 握手是基于http协议的 来自客户的握手看起来像如下的形式...组成,EndPoint是一个java对象,代表Websocket链接的一,对于服务,我们可以视处理具体WebSocket消息的接口,就像servelt之http请求一样 EndPoint和唯一个连接的客户一一对应...踩到的坑儿, WebSocket区分不同客户两种方法(HttpSession和@PathParam) 添加链接描述WebSocket区分不同客户两种方法(HttpSession和@PathParam

1.2K10

SpringBoot面试题及答案 110道(持续更新)

只有执行机构端点在防火墙后访问时,才建议禁用安全性。 如何在自定义端口上运行SpringBoot应用程序?...为了自定义端口上运行SpringBoot应用程序,您可以application.properties中指定端口。...1、 WebSocket 是双向的 -使用 WebSocket 客户或服务器可以发起消息发送。 2、 WebSocket 是全双工的 -客户和服务器通信是相互独立的。...然后这个单一连接用于所有未来的通信 4、 Light - http 相比,WebSocket 消息数据交换要轻得多。 14、运行 SpringBoot 有哪几种方式?...1、 spring-boot-starter-web 嵌入tomcat和web开发需要servletjsp支持 2、 spring-boot-starter-data-jpa 数据库支持 3、 spring-boot-starter-data-Redis

5.9K10

Spring整合WebSocket

它是通过一个TCP连接,客服服务之间建立的一个全双工、双向的通信渠道。它是一个不同HTTP的TCP协议,但是它通过HTTP工作。它的默认端口也是80和443,和HTTP是一样的。...一个WebSocket的交互开始于一个HTTP请求,这是一个握手请求,这个请求中包含一个Upgrade请求头,具体如下: GET /spring-websocket-portfolio/portfolio...> spring-boot-starter-websocket,这是我们今天的主角,我们WebSocket的实现都依赖于这个jar包; spring-boot-starter-thymeleaf...的配置类WebSocketConfig去实现WebSocketConfigurer接口; 由于这是一个配置类,所以类上加上注解@Configuration,同时因为要做WebSocket配置,还要加上...而现在,我们通过websocket,服务可以向客户发送消息,大大提高了效率。 好了,通过Spring整合WebSocket就先给大家介绍到这里了。

63920

Spring整合WebSocket

它是通过一个TCP连接,客服服务之间建立的一个全双工、双向的通信渠道。它是一个不同HTTP的TCP协议,但是它通过HTTP工作。它的默认端口也是80和443,和HTTP是一样的。...一个WebSocket的交互开始于一个HTTP请求,这是一个握手请求,这个请求中包含一个Upgrade请求头,具体如下: GET /spring-websocket-portfolio/portfolio...> spring-boot-starter-websocket,这是我们今天的主角,我们WebSocket的实现都依赖于这个jar包; spring-boot-starter-thymeleaf...的配置类WebSocketConfig去实现WebSocketConfigurer接口; 由于这是一个配置类,所以类上加上注解@Configuration,同时因为要做WebSocket配置,还要加上...而现在,我们通过websocket,服务可以向客户发送消息,大大提高了效率。 好了,通过Spring整合WebSocket就先给大家介绍到这里了。

75220

分布式 WebSocket 集群解决方案

只要网关配置高,能handle多个应用 需求:用户登录应用,需要与服务器建立wss连接,不同角色之间可以单发消息,也可以群发消息 集群中的应用服务类型:每个集群实例都负责http无状态请求服务ws长连接服务...里面,每个ws连接都有一个对应的session:WebSocketSession,Spring WebSocket中,我们建立ws连接之后可以通过类似这样的方式进行客户的通信: protected...解决方案的演变 NettySpring WebSocket 刚开始的时候,我尝试着用netty实现了websocket服务的搭建。...websocket session类似地,服务连接建立后有一个channel,我们可以通过channel进行客户的通信 如果您正在学习Spring Boot,推荐一个连载多年还在继续更新的免费教程...:http://blog.didispace.com/spring-boot-learning-2x/ /** * TODO 根据服务器传进来的id,分配到不同的group */

1.8K40
领券