Netty客户端与服务端的连接

Netty是基于Java NIO的网络应用框架

Netty是一个NIO client-server(客户端-服务端)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty提供一种新的方式来开发网络应用程序,这种新的方式它很容易使用和有很强的扩展性。

Netty的内部实现是复杂的,但是Netty提供了简单易用的api,从网络处理代码中解耦业务逻辑。

Netty是完全基于NIO实现的,所以整个Netty都是非阻塞的。

网络应用程序通常需要较高的可扩展性,无论是Netty还是其他基于JAVA NIO的框架,都会提供可扩展性的解决方案。Netty中一个关键组成部分是它的异步特性。


1.建立项目,一般的java工程就可以,jdk我这边用的是1.8,jar包用的是netty-all-5.0.0.Alpha2.jar   http://files.cnblogs.com/files/applerosa/netty-5.0.0.Alpha2.7z

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Netty 中,客户端服务端发送数据需要经过以下步骤: 1. 创建一个 Bootstrap 实例,用于启动客户端。 2. 设置客户端的 EventLoopGroup,用于处理网络事件。 3. 配置客户端的 Channel,包括 Channel 的类型、ChannelPipeline 的配置等。 4. 连接服务端,使用 connect() 方法连接服务端。 5. 在连接成功后,向服务端发送数据,可以通过 ChannelHandlerContext 的 writeAndFlush() 方法实现。 以下是一个简单的示例代码: ```java EventLoopGroup group = new NioEventLoopGroup(); Bootstrap bootstrap = new Bootstrap(); bootstrap.group(group) .channel(NioSocketChannel.class) .handler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); pipeline.addLast(new StringEncoder()); pipeline.addLast(new StringDecoder()); pipeline.addLast(new ClientHandler()); } }); ChannelFuture future = bootstrap.connect("localhost", 8888).sync(); future.channel().writeAndFlush("Hello, server!"); future.channel().closeFuture().sync(); group.shutdownGracefully(); ``` 在上面的示例中,我们创建了一个 Bootstrap 实例,并设置了客户端的 EventLoopGroup 和 Channel。然后使用 connect() 方法连接服务端,并在连接成功后向服务端发送了一条消息。注意,在这里我们使用了 ChannelHandlerContext 的 writeAndFlush() 方法来发送数据。最后,我们等待连接关闭并关闭 EventLoopGroup。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值