Netty WebSocket Spring Boot Starter 使用教程
1. 项目的目录结构及介绍
netty-websocket-spring-boot-starter
├── src
│ ├── main
│ │ ├── java
│ │ │ └── cn
│ │ │ └── yeauty
│ │ │ ├── annotation
│ │ │ │ └── EnableWebSocket.java
│ │ │ ├── autoconfigure
│ │ │ │ ├── NettyWebSocketAutoConfiguration.java
│ │ │ │ └── NettyWebSocketProperties.java
│ │ │ ├── handler
│ │ │ │ └── WebSocketServerHandler.java
│ │ │ ├── service
│ │ │ │ └── WebSocketService.java
│ │ │ └── NettyWebSocketServer.java
│ │ └── resources
│ │ └── application.yml
│ └── test
│ └── java
│ └── cn
│ └── yeauty
│ └── NettyWebSocketTest.java
├── .gitignore
├── LICENSE
├── README.md
└── pom.xml
目录结构介绍
src/main/java/cn/yeauty/annotation
: 包含项目所需的注解,如EnableWebSocket
。src/main/java/cn/yeauty/autoconfigure
: 包含自动配置类,如NettyWebSocketAutoConfiguration
和配置属性类NettyWebSocketProperties
。src/main/java/cn/yeauty/handler
: 包含 WebSocket 处理类,如WebSocketServerHandler
。src/main/java/cn/yeauty/service
: 包含服务类,如WebSocketService
。src/main/java/cn/yeauty/NettyWebSocketServer
: 包含 WebSocket 服务器类。src/main/resources/application.yml
: 项目的配置文件。src/test/java/cn/yeauty/NettyWebSocketTest
: 项目的测试类。
2. 项目的启动文件介绍
NettyWebSocketServer.java
NettyWebSocketServer
是项目的核心启动类,负责启动 Netty WebSocket 服务器。以下是该类的关键部分:
@SpringBootApplication
public class NettyWebSocketServer {
public static void main(String[] args) {
SpringApplication.run(NettyWebSocketServer.class, args);
}
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}
启动流程
- Spring Boot 应用启动:通过
SpringApplication.run
方法启动 Spring Boot 应用。 - ServerEndpointExporter Bean:注册
ServerEndpointExporter
Bean,用于扫描并注册 WebSocket 端点。
3. 项目的配置文件介绍
application.yml
项目的配置文件位于 src/main/resources/application.yml
,以下是配置文件的内容示例:
netty:
websocket:
port: 8080
path: /websocket
maxFrameSize: 1048576
配置项说明
netty.websocket.port
: WebSocket 服务器的监听端口。netty.websocket.path
: WebSocket 服务的路径。netty.websocket.maxFrameSize
: 最大帧大小,用于限制 WebSocket 消息的大小。
通过以上配置,可以灵活地调整 WebSocket 服务器的参数,以适应不同的应用场景。