在netty中如何使用native传输协议


本篇内容主要讲解“在netty中如何使用native传输协议”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在netty中如何使用native传输协议”吧!对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NIO,比如NioEventLoopGroup,NioServerSocketChannel等。我们也知道在IO中有比NIO更快的IO方式,比如kqueue和epoll,但是这两种方式需要native方法的支持,也就是说需要在操作系统层面提供服务。如果我们在支持Kqueue或者epoll的服务器上,netty是否可以提供对这些优秀IO的支持呢?答案是肯定的。但是首先kqueue和epoll需要JNI支持,也就是说JAVA程序需要调用本地的native方法。要想使用kequeue和epoll这种nativ免费云主机域名e的传输方式,我们需要额外添加项目的依赖,如果是linux环境,则可以添加如下的maven依赖环境:其中version需要匹配你所使用的netty版本号,否则可能出现调用异常的情况。classifier表示的是系统架构,它的值可以是linux-x86_64,也可以是linux-aarch_64.如果你使用的mac系统,那么可以这样引入:netty除了单独的个体包之外,还有一个all in one的netty-all包,如果你使用了这个all in one的包,那么不需要额外添加native的依赖。如果netty提供的系统架构并没有你正在使用的,那么你需要手动进行编译,以下是编译所依赖的程序包, 如果是在RHEL/CentOS/Fedora系统中,则使用:如果是在Debian/Ubuntu系统中,则使用:如果是在MacOS/BSD系统中,则使用:安装好依赖包之后,我们就可以在netty中使用这些native传输协议了。native传输协议的使用和NIO的使用基本一致,我们只需要进行下面的替换即可。如果是在liunx系统中,则进行下面的替换:如果是在mac系统中,则进行下面的替换:这里还是使用我们熟悉的聊天服务为例,首先看下基于Kqueue的netty服务器端应该怎么写:和NIO一样,在服务器端我们需要使用KQueueEventLoopGroup创建两个EventLoopGroup,一个是bossGroup, 一个是workerGroup。然后将这两个group传入到ServerBootstrap中,并且添加KQueueServerSocketChannel作为channel。其他的内容和NIO server的内容是一样的。接下来我们看下基于Kqueue的netty客户端改如何跟server端建立连接:这里使用的是KQueueEventLoopGroup,并将KQueueEventLoopGroup放到Bootstrap中,并且为Bootstrap提供了和server端一致的KQueueSocketChannel。然后就是客户端向channel中写消息,这里我们直接从命令行输入:上面代码的意思是将命令行收到的消息写入到channel中,如果输入的是’再见’,则关闭channel。为了能够处理字符串,这里用到了三个编码解码器:分别是行分割器,字符编码器和字符解码器。运行一下看,程序运行没问题,客户端和服务器端可以进行通讯。到此,相信大家对“在netty中如何使用native传输协议”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: mysql数据库表增添字段,删除字段,修改字段的方法

这篇文章主要讲解了“mysql数据库表增添字段,删除字段,修改字段的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql数据库表增添字段,删除字段,修改字段的方法”吧!修改表指的是修改数据库之后中已经存…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/07 18:10
下一篇 05/07 18:10

相关推荐