spring-boot-websocket-netty-server, 依赖spring-boot-parent
Spring Boot: user notifications with web socket
This example will shows how to send notifications, via web socket, to specific logged-in users.
Could be useful, for example, if you are trying to implement a real-time user notification system.
Build and run
springboot启动后: http://localhost/
Configurations
<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.12.Final</version> </dependency>
@SpringBootApplication public class NettyWebSocketServerApplication implements CommandLineRunner{ @Autowired private ChatServer chatServer; public static void main(String[] args) { SpringApplication.run(NettyWebSocketServerApplication.class, args); } @Bean public ChatServer chatServer() { return new ChatServer(); } @Override public void run(String... args) throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", 9090); ChannelFuture future = chatServer.start(address); Runtime.getRuntime().addShutdownHook(new Thread(){ @Override public void run() { chatServer.destroy(); } }); future.channel().closeFuture().syncUninterruptibly(); } }
@Override
protected void initChannel(Channel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
//处理日志
pipeline.addLast(new LoggingHandler(LogLevel.INFO));
//处理心跳
pipeline.addLast(new IdleStateHandler(0, 0, 1800, TimeUnit.SECONDS));
pipeline.addLast(new ChatHeartbeatHandler());
pipeline.addLast(new HttpServerCodec());
pipeline.addLast(new ChunkedWriteHandler());
pipeline.addLast(new HttpObjectAggregator(64 * 1024));
pipeline.addLast(new HttpRequestHandler("/ws"));
pipeline.addLast(new WebSocketServerProtocolHandler("/ws"));
pipeline.addLast(new TextWebSocketFrameHandler(group));
}
Prerequisites
- Java 8
- Maven > 3.0
From terminal
Go on the project's root folder, then type:
$ mvn spring-boot:run
项目完整路径:Spring-boot-netty-websocket
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。