基于netty的群聊
学了一段时间的netty知识,现在通过这个基于console的程序来对netty的相关接口做个简单的应用。
准备
依赖
1 | <dependency> |
代码实现
我们都知道,一个典型的netty程序绝大部分使基于以下三部曲来走的;
- server/client 启动类
- xxxInitializer (implements ChannelInitializer<?> )
- xxxChannelHandler (implememts SimpleChannelInboundHandler<?>)
按照以上的三部曲思路,就可以实现自己的网络程序了。
Server端实现
server启动类
1 | public class MyChatServer { |
serverChannelInitializer
1 | public class MyChatServerInitializer extends ChannelInitializer<SocketChannel> { |
serverChannelHandler
1 | public class MyServerChannelHandler extends SimpleChannelInboundHandler<String> { |
client 端实现
client启动类
1 | public class MyChatClient { |
clientChannelInitializer
1 | public class MyClientChannelInitializer extends ChannelInitializer<SocketChannel> { |
clientChannelHandler
1 | public class MyChatClientChannelHandler extends SimpleChannelInboundHandler<String> { |