SpringBoot如何用Netty和WebSocket实现消息发送的示例代码?

2026-05-19 11:181阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计333个文字,预计阅读时间需要2分钟。

SpringBoot如何用Netty和WebSocket实现消息发送的示例代码?

一. 引入Netty依赖xml io.netty netty-all 4.1.25.Final

二. 创建WebSocket服务器java@Componentpublic class WebSocketServer { // 主线程池 private EventLoopGroup bossGroup=new NioEventLoopGroup(); private EventLoopGroup workerGroup=new NioEventLoopGroup();}

SpringBoot如何用Netty和WebSocket实现消息发送的示例代码?

一.导入Netty依赖

<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.25.Final</version> </dependency>

二.搭建websocket服务器

@Component public class WebSocketServer { /** * 主线程池 */ private EventLoopGroup bossGroup; /** * 工作线程池 */ private EventLoopGroup workerGroup; /** * 服务器 */ private ServerBootstrap server; /** * 回调 */ private ChannelFuture future; public void start() { future = server.bind(9001); System.out.println("netty server - 启动成功"); } public WebSocketServer() { bossGroup = new NioEventLoopGroup(); workerGroup = new NioEventLoopGroup(); server = new ServerBootstrap(); server.group(bossGroup, workerGroup) .channel(NioServerSocketChannel.class) .childHandler(new WebsocketInitializer()); } }

三.初始化Websocket

public class WebsocketInitializer extends ChannelInitializer<SocketChannel> { @Override protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); // ------------------ // 用于支持Http协议 // ------------------ // websocket基于localhost:9001/ws
2.端口号9001和访问路径ws都是我们在上边配置的,然后传入我们自定义的消息message类型。
3.大概流程:消息发送 :用户1先连接通道,然后发送消息给用户2,用户2若是在线直接可以发送给用户,若没在线可以将消息暂存在redis或者通道里,用户2链接通道的话,两者可以直接通讯。
消息推送 :用户1连接通道,根据通道id查询要推送的人是否在线,或者推送给所有人,这里我只推送给指定的人。

到此这篇关于SpringBoot+Netty+WebSocket实现消息发送的示例代码的文章就介绍到这了,更多相关SpringBoot Netty WebSocket消息发送内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计333个文字,预计阅读时间需要2分钟。

SpringBoot如何用Netty和WebSocket实现消息发送的示例代码?

一. 引入Netty依赖xml io.netty netty-all 4.1.25.Final

二. 创建WebSocket服务器java@Componentpublic class WebSocketServer { // 主线程池 private EventLoopGroup bossGroup=new NioEventLoopGroup(); private EventLoopGroup workerGroup=new NioEventLoopGroup();}

SpringBoot如何用Netty和WebSocket实现消息发送的示例代码?

一.导入Netty依赖

<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.25.Final</version> </dependency>

二.搭建websocket服务器

@Component public class WebSocketServer { /** * 主线程池 */ private EventLoopGroup bossGroup; /** * 工作线程池 */ private EventLoopGroup workerGroup; /** * 服务器 */ private ServerBootstrap server; /** * 回调 */ private ChannelFuture future; public void start() { future = server.bind(9001); System.out.println("netty server - 启动成功"); } public WebSocketServer() { bossGroup = new NioEventLoopGroup(); workerGroup = new NioEventLoopGroup(); server = new ServerBootstrap(); server.group(bossGroup, workerGroup) .channel(NioServerSocketChannel.class) .childHandler(new WebsocketInitializer()); } }

三.初始化Websocket

public class WebsocketInitializer extends ChannelInitializer<SocketChannel> { @Override protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); // ------------------ // 用于支持Http协议 // ------------------ // websocket基于localhost:9001/ws
2.端口号9001和访问路径ws都是我们在上边配置的,然后传入我们自定义的消息message类型。
3.大概流程:消息发送 :用户1先连接通道,然后发送消息给用户2,用户2若是在线直接可以发送给用户,若没在线可以将消息暂存在redis或者通道里,用户2链接通道的话,两者可以直接通讯。
消息推送 :用户1连接通道,根据通道id查询要推送的人是否在线,或者推送给所有人,这里我只推送给指定的人。

到此这篇关于SpringBoot+Netty+WebSocket实现消息发送的示例代码的文章就介绍到这了,更多相关SpringBoot Netty WebSocket消息发送内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!