-
Netty 群聊系统
-
63 服务端 64 客户端及调试
-
https://www.bilibili.com/video/BV1jK4y1s7GV?p=63
-
https://www.bilibili.com/video/BV1jK4y1s7GV?p=64
-
尚硅谷2019年Netty教程 netty 群聊系统 ----目标netty—step5.02
*https://blog.csdn.net/wei198621/article/details/108764920 -
需要与 下面的进行对比学习,就可以知道 netty的好了
-
尚硅谷2019年Netty教程 NIO 群聊系统 ----目标netty—step4.01
-
https://blog.csdn.net/wei198621/article/details/108700129
-
测试过程
-
step1 : 开启服务端
-
step2 : 开启客户端 1
-
step3 : 开启客户端 2 查看服务端,查看客户端1
-
step5 : 开启客户端 3 查看服务端,查看客户端1 ,查看客户端2
-
step6 关闭客户端1 查看服务端
-
step
package com.atguigu.groupChatNetty;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.ServerSocketChannel;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.codec.string.StringDecoder;
import io.netty.handler.codec.string.StringEncoder;
/**
* Author: tz_wl
* Date: 2020/9/23 17:21
* Content:
*
* 尚硅谷2019年Netty教程 netty 群聊系统 ----目标netty---step5.02
*
* 需要与 下面的进行对比学习,就可以知道 netty的好了
* 尚硅谷2019年Netty教程 NIO 群聊系统 ----目标netty---step4.01
* https://blog.csdn.net/wei198621/article/details/108700129
*
* Netty 群聊系统
* 63 服务端 64 客户端及调试
* https://www.bilibili.com/video/BV1jK4y1s7GV?p=63
* https://www.bilibili.com/video/BV1jK4y1s7GV?p=64
*
* 可以对比上一版本的 聊天 服务端,客户端 ,明了了不少
*
* 测试过程
* step1 : 开启服务端
* step2 : 开启客户端 1
* step3 : 开启客户端 2 查看服务端,查看客户端1
* step5 : 开启客户端 3 查看服务端,查看客户端1 ,查看客户端2
* step6 关闭客户端1 查看服务端
* step
*
*/
public class groupChatServer {
private int port=8097;
public groupChatServer(int port){
this.port=port;
}
public void run(){
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup(8);
try {
ServerBootstrap serverBootstrap = new ServerBootstrap();
serverBootstrap.group(bossGroup,workerGroup)
.channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG,128)
.childOption(ChannelOption.SO_KEEPALIVE,true)
.childHandler(new ChannelInitializer<SocketChannel