netty
文章平均质量分 59
Gogym
热爱生活,热爱技术。
展开
-
java NIO的空轮询bug 以及Netty的解决办法
这个bug是指java的NIO在linux下selector.select()时,本来如果轮询的结果为空并且不调用wakeup的方法的话,这个selector.select()应该是一直阻塞的,但是java却会打破阻塞,继续执行,导致程序无限空转,造成CPU使用率100%这个bug只出现在linux系统下,因为linux下NIO底层使用的是epoll来实现的,而java的epoll实现存在bug,导致selector出现了这种轮询为空却唤醒的情况。windows下NIO是使用的poll来实现select.转载 2021-01-28 11:38:06 · 1061 阅读 · 0 评论 -
关于netty UDP不能发送大于2048字节包的问题
刚开始对netty udp不太熟的朋友可能会遇到这么一个问题,在使用netty udp发送数据的时候,如果你的包比较大,或者超过2048字节的时候,经常会接收不全或者丢包了。比如发送一个4096字节的DatagramPacket包到服务器,你会发现只接收到2048或者更少的字节。是什么原因呢?下面说一下个人的见解:udp理论上支持最大发送64K的包,那为什么netty udp不能发送大原创 2017-06-05 10:10:11 · 7307 阅读 · 1 评论 -
netty4 tcp与protobuf3的整合使用。
netty是一个非常棒的NIO框架就不介绍了。protobuf是google提供的一个开源序列化框架,也是一个非常棒的东西。这里不介绍这两个框架了,想要了解的朋友网上一搜一大把。本文主要介绍 protobuf3与netty4 在tcp协议里的整合使用。个人认为netty与protobuf是绝配的组合。配合使用非常棒,框架提供了粘包拆包等工具类。特别是你要实现如及时通讯功能的时候,能让你原创 2017-06-02 16:56:15 · 6836 阅读 · 3 评论 -
netty4 UDP的使用
网上很多关于netty的都是TCP的使用,这些写一下UDP的使用,其实也很简单。这里不介绍TCP协议和UDP协议有什么区别了,网上很多。这里要说明的一点是netty的TCP和UDP使用有点不一样:1、netty TCP是每个客户端连接过来都有一条连接,而netty UDP没有连接,只监听端口。2、netty TCP可以在Channel获取远程客户端的ip和端口号,而netty UD原创 2017-06-02 17:53:26 · 17788 阅读 · 21 评论 -
netty4 ip过滤器的使用(可做ip黑名单处理)
netty4的ip过滤跟netty3的区别比较大。netty3的使用方法这里不介绍了,看看在netty4中怎么做ip的过滤。从netty的文档中我们可以看到这么几个类:https://netty.io/4.1/api/io/netty/handler/ipfilter/package-summary.htmlip过滤相关的类在 io.netty.handler.ipfilter这个...原创 2019-07-13 13:32:15 · 3706 阅读 · 1 评论 -
netty4 使用SSL 安全连接,简单明了
netty是一个非常优秀的nio框架,就不多介绍啦,这里主要介绍如何在netty中开启ssl。这里使用的版本是 netty4 ,netty4内部已经实现了标准的 jdk ssl 以及openssl。很方便的就能使用。ssl的一些介绍,为何要用ssl就不累述了,百度一大堆。咱们讲究实战,直接上代码吧:一、首先肯定要导入相关的jar:<dependency> <...原创 2019-08-13 17:10:42 · 6552 阅读 · 2 评论 -
getty 一个完全基于java 实现的aio框架
目录前言说说写这个框架的原因:说说getty的特点:说说getty的性能和稳定性:如何使用:插件的使用:未完待续。。。githup地址:https://github.com/gogym/getty码云地址:https://gitee.com/kokjuis/getty前言1、getty只是本人空闲时间随手写的一个网络通讯框架,虽然本人认为这份代码写的还凑...原创 2019-10-01 19:48:20 · 2751 阅读 · 0 评论