spring-boot-starter-websocket怎么自定义单独的端口号
时间: 2024-09-13 14:01:35 浏览: 70
`spring-boot-starter-websocket` 是 Spring Boot 提供的一个用于快速启动 WebSocket 服务的依赖模块。如果你想要自定义 WebSocket 服务监听的端口号,你可以通过配置文件(如 `application.properties` 或 `application.yml`)或者通过代码来设置。
在配置文件中设置端口号的方法如下:
```
# application.properties 示例
server.port=8081
```
或者如果你使用的是 `application.yml`,则配置如下:
```yaml
# application.yml 示例
server:
port: 8081
```
如果你需要在代码中动态地设置端口号,你可以在启动类中重写 `configureWebSocketMessageBroker` 方法,然后使用 `Registry` 来设置 WebSocket 端点的地址。
```java
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.*;
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
// 设置消息代理的端口,这里设置为8081,你可以根据需要修改
registry.setApplicationDestinationPrefixes("/app");
registry.enableSimpleBroker("/topic");
registry.setHeartbeatValue(new long[] {10000, 10000});
}
}
```
在这个例子中,`WebSocketConfig` 类实现了 `WebSocketMessageBrokerConfigurer` 接口,并重写了 `configureMessageBroker` 方法来自定义消息代理的端口。这样,WebSocket 消息代理将会监听你所指定的端口号。
阅读全文