Fork me on GitHub
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 52 下一页
摘要: 简介 channel是netty中数据传输和数据处理的渠道,也是netty程序中不可或缺的一环。在netty中channel是一个接口,针对不同的数据类型或者协议channel会有具体的不同实现。 虽然channel很重要,但是在代码中确实很神秘,基本上我们很少能够看到直接使用channel的情况, 阅读全文
posted @ 2022-02-17 21:31 flydean 阅读(2664) 评论(1) 推荐(0) 编辑
摘要: 简介 netty作为一个优秀的的NIO框架,被广泛应用于各种服务器和框架中。同样是NIO,netty所依赖的JDK在1.4版本中早就提供nio的包,既然JDK已经有了nio的包,为什么netty还要再写一个呢? 不是因为JDK不优秀,而是因为netty的要求有点高。 ByteBuf和ByteBuff 阅读全文
posted @ 2022-02-16 18:40 flydean 阅读(591) 评论(1) 推荐(0) 编辑
摘要: 简介 经典的TCP三次握手大家应该很熟悉了,三次握手按道理说应该是最优的方案了,当然这是对于通用的情况来说的。那么在某些特殊的情况下是不是可以提升TCP建立连接的速度呢? 答案是肯定的,这就是今天我们要讲的TCP fast open和netty。 TCP fast open 什么是TCP fast 阅读全文
posted @ 2022-02-15 18:13 flydean 阅读(758) 评论(1) 推荐(1) 编辑
摘要: 简介 为什么世界上有这么多JAVA的程序员呢?其中一个很重要的原因就是JAVA相对于C而言,不需要考虑对象的释放,一切都是由垃圾回收器来完成的。在崇尚简单的现代编程世界中,会C的高手越来越少,会JAVA的程序员越来越多。 JVM的垃圾回收器中一个很重要的概念就是Reference count,也就是 阅读全文
posted @ 2022-02-14 17:25 flydean 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 简介 在我们之前提到的所有netty知识中,netty好像都被分为客户端和服务器端两部分。服务器端监听连接,并对连接中的消息进行处理。而客户端则向服务器端建立请求连接,从而可以发送消息。 但是这一切都要在UDT协议中被终结,因为UDT提供了Rendezvous,一种平等的连接类型,节点之间是对等关系 阅读全文
posted @ 2022-02-11 10:12 flydean 阅读(214) 评论(1) 推荐(1) 编辑
摘要: 简介 UDT给了你两种选择,byte stream或者message,到底选哪一种呢?经验告诉我们,只有小学生才做选择题,而我们应该全都要! 类型的定义 UDT的两种类型是怎么定义的呢? 翻看com.barchart.udt包,可以发现这两种类型定义在TypeUDT枚举类中。 STREAM(1), 阅读全文
posted @ 2022-02-10 15:27 flydean 阅读(347) 评论(1) 推荐(0) 编辑
摘要: 简介 UDT是一个非常优秀的协议,可以提供在UDP协议基础上进行高速数据传输。但是可惜的是在netty 4.1.7中,UDT传输协议已经被标记为Deprecated了! 意味着在后面的netty版本中,你可能再也看不到UDT协议了. 优秀的协议怎么能够被埋没,让我们揭开UDT的面纱,展示其优秀的特性 阅读全文
posted @ 2022-01-21 13:55 flydean 阅读(509) 评论(1) 推荐(0) 编辑
摘要: 简介 我们知道netty的基础是channel和在channel之上的selector,当然作为一个nio框架,channel和selector不仅仅是netty的基础,也是所有nio实现的基础。 同样的,我们知道netty很多种不同的协议,这些协议都是在channel上进行通讯的,那么对于不同的协 阅读全文
posted @ 2022-01-19 13:49 flydean 阅读(330) 评论(1) 推荐(0) 编辑
摘要: 简介 null可能是大家在编写程序中最为头疼的一个东西,稍不留意的情况下就有可能使用到了这个空字符。所以dart在2.12引入了nll safety,默认情况下强制所有的类型都不为null,只有在你认为它可以为null的时候才可以设置为null。 虽然有了null safety,但是这里还有一些我们 阅读全文
posted @ 2022-01-17 09:20 flydean 阅读(851) 评论(1) 推荐(0) 编辑
摘要: 简介 在之前的文章中,我们介绍了在同一个netty程序中支持多个不同的服务,它的逻辑很简单,就是在一个主程序中启动多个子程序,每个子程序通过一个BootStrap来绑定不同的端口,从而达到访问不同端口就访问了不同服务的目的。 但是多个端口虽然区分度够高,但是使用起来还是有诸多不便,那么有没有可能只用 阅读全文
posted @ 2022-01-12 16:35 flydean 阅读(916) 评论(0) 推荐(0) 编辑
摘要: 简介 Library是dart用来组织代码的一种非常有用的方式,通过定义不同的Library,可以将非常有用的dart代码进行封装,从而提供给其他的项目使用。虽然我们可以自由使用import或者export来对library进行导入和导入。但是什么样的用法才是最合适的用法呢? 一起来看看吧。 使用p 阅读全文
posted @ 2022-01-10 10:26 flydean 阅读(259) 评论(1) 推荐(0) 编辑
摘要: 简介 SOCKS是一个优秀的网络协议,主要被用来做代理,它的两个主要版本是SOCKS4和SOCKS5,其中SOCKS5提供了对认证的支持。通常来说我们使用SSH工具可以构建简单的SOCKS协议通道,那么对于netty来说,是怎么提供对SOCKS的支持呢?一起来看看吧。 SocksMessage 首先 阅读全文
posted @ 2022-01-06 09:26 flydean 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 简介 每种语言都有自己的代码风格,这种代码风格是跟语言特性息息相关的。如果在编码的过程中遵循这种统一的编码规则,会给我们的业务带来非常多的便利。 同样的,对应dart而已,也有属于自己的编码风格,一起来看看吧。 命名规则 一般来说,这个世界上有三种命名规则,分别是UpperCamelCase,low 阅读全文
posted @ 2022-01-04 09:31 flydean 阅读(382) 评论(1) 推荐(0) 编辑
摘要: 简介 一般情况要扩展一个类,需要继承这个类,这是在大多数java或者其他面向对象语言中要做的事情。 但是有些时候扩展类并不是特别好用,首先在有些语言中,有些类是禁止被扩展的。即使可以被扩展,但是扩展之后的类是一个新的类,而不是原来的父类,所以在使用的过程中可能会出现一些类型转换的问题。 那么在dar 阅读全文
posted @ 2021-12-31 09:23 flydean 阅读(266) 评论(1) 推荐(0) 编辑
摘要: 简介 上一篇文章,我们讲到了netty对SOCKS消息提供了SocksMessage对象的封装,并且区分SOCKS4和SOCKS5,同时提供了连接和响应的各种状态。 有了SOCKS消息的封装之后,我们还需要做些什么工作才能搭建一个SOCKS服务器呢? 使用SSH搭建SOCKS服务器 其实最简单的办法 阅读全文
posted @ 2021-12-29 09:34 flydean 阅读(979) 评论(1) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 52 下一页