Netty--简单的客户端实现

在上一章中编写了一个简易的服务器,只拥有打印客户端发出的讯息的功能。现在,来编写一个简易的客户端,并与服务端发送数据。

  1. 创建连接池
                    EventLoopGroup group = new NioEventLoopGroup();

     

  2. 创建引导类
     

                            Bootstrap client = new Bootstrap();
    			client.group(group);
    			client.channel(NioSocketChannel.class);
    			client.handler(new ChannelInitializer() {                                                            @Override               
                             protected void initChannel(SocketChannel ch) throws Exception {
    					ch.pipeline().addLast(new StringEncoder());
    				}
    			});

    服务器引导类用的是ServerBootstrap ,而客户端用的是Bootstrap。
    首先创建一个Bootstrap实例,在绑定线程池,设置channel,为channel添加channelHandler,StringEncoder是netty内置的一个编码器,用于编码String类型的数据。

  3. 启动客户端
     

                            ChannelFuture future = client.connect("localhost", 8080).sync();
    			future.channel().writeAndFlush("这是我的第一个netty客户端");
    			future.channel().closeFuture().sync();
    			System.out.println("closed.."); 

    首先连接到远程服务器,写入数据,关闭客户端

  4. 关闭线程池
     

                    group.shutdownGracefully();

     

  5. 效果

    Netty--简单的客户端实现_第1张图片

你可能感兴趣的:(netty)