Fork me on GitHub

随笔分类 -  java-io-nio

java io和nio相关文章
摘要:简介 netty之所以强大,是因为它内置了很多非常有用的编码解码器,通过使用这些编码解码器可以很方便的搭建出非常强大的应用程序,今天给大家讲讲netty中最基本的内置编码解码器。 netty中的内置编码器 在对netty的包进行引入的时候,我们可以看到netty有很多以netty-codec开头的a 阅读全文
posted @ 2021-08-20 17:29 flydean 阅读(1274) 评论(1) 推荐(1)
摘要:简介 上篇文章我们讲到了netty中怎么自定义编码和解码器,但是自定义实现起来还是挺复杂的,一般没有特殊必要的情况下,大家都希望越简单越好,其难点就是找到ByteBuf中的分割点,将ByteBuf分割成为一个个的可以处理的单元。今天本文讲讲netty中自带的分割处理机制。 Frame detecti 阅读全文
posted @ 2021-08-19 09:17 flydean 阅读(467) 评论(0) 推荐(0)
摘要:简介 在之前的系列文章中,我们提到了netty中的channel只接受ByteBuf类型的对象,如果不是ByteBuf对象的话,需要用编码和解码器对其进行转换,今天来聊一下netty自定义的编码和解码器实现中需要注意的问题。 自定义编码器和解码器的实现 在介绍netty自带的编码器和解码器之前,告诉 阅读全文
posted @ 2021-08-18 10:19 flydean 阅读(2189) 评论(1) 推荐(0)
摘要:简介 在之前的netty系列文章中,我们讲到了如何将对象或者String转换成为ByteBuf,通过使用netty自带的encoder和decoder可以实现非常方便的对象和ByteBuf之间的转换,然后就可以向channel中随意写入对象和字符串了。 使用netty自带的编码器当然很好,但是如果你 阅读全文
posted @ 2021-08-16 10:20 flydean 阅读(990) 评论(2) 推荐(0)
摘要:简介 在之前的文章中,我们讲到了怎么使用netty建立聊天室,但是这样的简单的聊天室太容易被窃听了,如果想要在里面说点悄悄话是很不安全的,怎么办呢?学过密码学的朋友可能就想到了一个解决办法,聊天的时候对消息加密,处理的时候再对消息解密即可。 当然在netty中上述的工作都不需要我们手动来实现,net 阅读全文
posted @ 2021-08-15 16:25 flydean 阅读(877) 评论(1) 推荐(0)
摘要:简介 在之前的系列文章中,我们到了使用netty做聊天服务器,聊天服务器使用的SocketChannel,也就是说底层的协议使用的是Scoket。今天我们将会给大家介绍如何在netty中使用UDP协议。 UDP协议 UDP( User Datagram Protocol ),也叫用户数据报协议。 U 阅读全文
posted @ 2021-08-14 15:25 flydean 阅读(2207) 评论(0) 推荐(1)
摘要:简介 经过之前的系列文章,我们已经知道了netty的运行原理,还介绍了基本的netty服务搭建流程和消息处理器的写法。今天本文会给大家介绍一个更加复杂的例子,文本聊天室。 聊天室的工作流程 今天要介绍的是文本聊天室,对于文本聊天室来说,首先需要建立一个服务器,用于处理各个客户端的连接,对于客户端来说 阅读全文
posted @ 2021-08-13 09:14 flydean 阅读(396) 评论(1) 推荐(0)
摘要:简介 我们在使用客户端和服务器端连接的过程中,可能会因为各种问题导致客户端和服务器的连接发生中断,遇到这种情况,一般情况下我们需要使用监控程序去监听客户端和服务器端的连接,如果第一时间发现连接断开了,就需要手动去重连。比较麻烦,今天给大家介绍一种netty中自动重连的方式。 使用netty建立连接 阅读全文
posted @ 2021-08-12 08:36 flydean 阅读(3967) 评论(1) 推荐(0)
摘要:简介 在之前的文章中我们提到了,对于NioSocketChannel来说,它不接收最基本的string消息,只接收ByteBuf和FileRegion。但是ByteBuf是以二进制的形式进行处理的,对于程序员来说太不直观了,处理起来也比较麻烦,有没有可能直接处理java简单对象呢?本文将会探讨一下这 阅读全文
posted @ 2021-08-11 10:05 flydean 阅读(477) 评论(0) 推荐(1)
摘要:简介 我们知道由两种数据的传输方式,分别是字符流和字节流,字符流的意思是传输的对象就是字符串,格式已经被设置好了,发送方和接收方按照特定的格式去读取就行了,而字节流是指将数据作为最原始的二进制字节来进行传输。 今天给大家介绍一下在netty中的基于流的数据传输。 package和byte 熟悉TCP 阅读全文
posted @ 2021-08-10 09:36 flydean 阅读(1330) 评论(1) 推荐(0)
摘要:简介 之前的系列文章中我们学到了netty的基本结构和工作原理,各位小伙伴一定按捺不住心中的喜悦,想要开始手写代码来体验这神奇的netty框架了,刚好最近东京奥运会,我们写一个netty的客户端和服务器为中国加油可好? 场景规划 那么我们今天要搭建什么样的系统呢? 首先要搭建一个server服务器, 阅读全文
posted @ 2021-08-09 08:24 flydean 阅读(374) 评论(1) 推荐(0)
摘要:简介 上一节我们讲解了netty中的Channel,知道了channel是事件处理器和外部联通的桥梁。今天本文将会详细讲解netty的剩下几个非常总要的部分Event、Handler和PipeLine。 ChannelPipeline pipeLine是连接Channel和handler的桥梁,它实 阅读全文
posted @ 2021-08-07 09:20 flydean 阅读(622) 评论(1) 推荐(0)
摘要:简介 Channel是连接ByteBuf和Event的桥梁,netty中的Channel提供了统一的API,通过这种统一的API,netty可以轻松的对接多种传输类型,如OIO,NIO等。今天本文将会介绍Channel的使用和Channel相关的一些概念。 Channel详解 Channel是什么? 阅读全文
posted @ 2021-08-06 08:54 flydean 阅读(1919) 评论(1) 推荐(0)
摘要:简介 Netty为什么这么优秀,它在JDK本身的NIO基础上又做了什么改进呢?它的架构和工作流程如何呢?请走进今天的netty系列文章之:netty架构概述。 netty架构图 netty的主要作用就是提供一个简单的NIO框架可以和上层的各种协议相结合,最终实现高性能的服务器。下面是netty官网提 阅读全文
posted @ 2021-08-05 09:04 flydean 阅读(957) 评论(0) 推荐(0)
摘要:java中最最让人激动的部分就是IO和NIO了。IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就存在的。NIO叫做new IO,是在java1.4中引入的新一代IO。 IO的本质是什么呢?它和NIO有什么区别 阅读全文
posted @ 2021-07-27 09:28 flydean 阅读(331) 评论(1) 推荐(0)
摘要:简介 NIO有三宝:Buffer,Channel,Selector少不了。本文将会介绍NIO三件套中的最后一套Selector,并在理解Selector的基础上,协助小师妹发一张好人卡。我们开始吧。 Selector介绍 小师妹:F师兄,最近我的桃花有点旺,好几个师兄莫名其妙的跟我打招呼,可是我一 阅读全文
posted @ 2020-06-14 08:56 flydean 阅读(649) 评论(1) 推荐(1)
摘要:简介 妖魔鬼怪快快显形,今天F师兄帮助小师妹来斩妖除魔啦,什么BufferB,BufferL,BufferRB,BufferRL,BufferS,BufferU,BufferRS,BufferRU统统给你剖析个清清楚楚明明白白。 Buffer的分类 小师妹:F师兄不都说JDK源码是最好的java老师 阅读全文
posted @ 2020-06-13 08:05 flydean 阅读(528) 评论(1) 推荐(0)
摘要:简介 大大大,我要大!小师妹要读取的文件越来越大,该怎么帮帮她,让程序在性能和速度上面得到平衡呢?快来跟F师兄一起看看吧。 虚拟地址空间 小师妹:F师兄,你有没有发现,最近硬盘的价格真的是好便宜好便宜,1T的硬盘大概要500块,平均1M五毛钱。现在下个电影都1G起步,这是不是意味着我们买入了大数据时 阅读全文
posted @ 2020-06-12 09:01 flydean 阅读(1236) 评论(2) 推荐(1)
摘要:简介 小师妹,你还记得我们使用IO和NIO的初心吗? 小师妹:F师兄,使用IO和NIO不就是为了让生活更美好,世界充满爱吗?让我等程序员可以优雅的将数据从一个地方搬运到另外一个地方。利其器,善其事,才有更多的时间去享受生活呀。 善,如果将数据比做人,IO,NIO的目的就是把人运到美国。 小师妹:F师 阅读全文
posted @ 2020-06-11 06:36 flydean 阅读(680) 评论(1) 推荐(0)
摘要:简介 小师妹在学习NIO的路上越走越远,唯一能够帮到她的就是在她需要的时候给她以全力的支持。什么都不说了,今天介绍的是NIO的基础Buffer。老铁给我上个Buff。 Buffer是什么 小师妹:F师兄,这个Buffer是我们纵横王者峡谷中那句:老铁给我加个Buff的意思吗? 当然不是了,此Buff 阅读全文
posted @ 2020-06-10 06:07 flydean 阅读(1358) 评论(1) 推荐(0)