netty-websocket-spring-boot-starter包怎么配置用wss连接websocket
时间: 2023-11-27 13:06:13 浏览: 230
要使用wss连接websocket,你需要对Netty和WebSocket进行相应的配置。下面是一个简单的示例:
1. 首先,在你的项目中添加依赖项:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.46.Final</version>
</dependency>
```
2. 然后,在你的`application.properties`文件中添加以下配置:
```
server.port=443
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=your_password_here
server.ssl.keyStoreType=PKCS12
```
在这个示例中,我们将端口设置为443,这是用于wss连接的默认端口。然后,我们指定了一个keystore文件以及密码。你需要将`your_password_here`更改为你的实际密码。
3. 最后,在你的WebSocket配置类中添加以下代码:
```
@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("/ws")
.setAllowedOrigins("*")
.withSockJS();
}
@Bean
public ServletServerContainerFactoryBean createWebSocketContainer() {
ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
container.setMaxBinaryMessageBufferSize(1024000);
container.setMaxTextMessageBufferSize(1024000);
container.setMaxSessionIdleTimeout(1200000);
return container;
}
}
```
在这个示例中,我们启用了`SimpleBroker`,指定了消息目的地前缀和应用程序目的地前缀。然后,我们注册了一个Stomp端点,并允许任何来源连接,使用SockJS作为备选方案。最后,我们设置了WebSocket容器的一些属性。
现在,你可以使用wss连接websocket了。你可以使用类似于`wss://yourdomain.com/ws`的URL。
阅读全文