
网络编程
文章平均质量分 92
yanioX
代码改变世界
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
推送系统功能设计
1.架构设计图 push_server_dispatch应用,解决了当我们的推送服务器集群处理后,客户端无法知道连接那个服务器的问题。不采用nginx负载均衡,是因为这属于中心负载均衡,当用户量大的时候,处理起来并不好。 推送系统说到底,还是客户端到服务端的数据流转问题。 2.短链接与长连接 短链接:请求/响应之后,关闭已建立的TCP连接,下次请求再建立一次连接。 长连接:请求/响应之后,...原创 2020-02-17 20:59:01 · 1210 阅读 · 0 评论 -
Netty零拷贝机制
1.Netty自己的ByteBuf ByteBuf是为解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的。 1.1JDK ByteBuffer的缺点 无法动态扩容。长度是固定的,不能动态扩展和收缩,当数据大于ByteBuffer容量时,会发生索引越界异常。 API使用复杂。读写的时候需要手动调用flip()和rewind等方法,使用时需要十分谨慎的使用这些api,否则很容...原创 2020-02-16 14:43:58 · 240 阅读 · 0 评论 -
Netty职责链Pipeline详解
文章目录1.设计模式 - 责任链模式2.实现责任链模式2.1类似tomcat的filters伪代码2.2类似Netty的责任链模式伪代码3.一个简单例子要素一:处理器抽象类要素二:具体的处理器实现类要素三:保存处理器信息的类要素四:处理执行4.Netty中的ChannelPipeline责任链4.1入站事件和出站事件 1.设计模式 - 责任链模式 责任链模式为请求创建了一个处理对象的链。 发起请...原创 2020-02-15 21:16:00 · 3860 阅读 · 0 评论 -
Netty线程模型
1.Netty简介 Netty是一个高性能、高可扩展性的异步事件驱动的网络应用程序框架,它极大地简化了TCP和UDP客户端和服务器开发等网络编程。 Netty重要的四个内容: Reactor线程模型:一种高性能的多线程程序设计思路。 Netty中自己定义的Channel概念:增强版的通道概念。 ChannelPipeline职责链设计模式:事件处理机制。 内存管理:增强的ByteBuffer缓冲...原创 2020-02-15 15:52:10 · 168 阅读 · 0 评论 -
NIO网络编程
文章目录1.Java NIO2.Buffer缓存区3.Buffer工作原理3.1.Buffer API使用练习3.2ByteBuffer内存类型4.Channel通道4.1SocketChannel4.2ServerSocketChannel5.NIO模拟客户端和服务端5.1阻塞式的方式5.2升级之后的服务端6.Selector选择器6.1用Selector来优化服务端代码6.2将多线程技术与之结...原创 2020-02-14 20:07:33 · 565 阅读 · 0 评论 -
TCP/UDP协议
文章目录1.OSI网络七层模型1.1各层的主要功能低三层承上启下作用层高三层2.传输控制协议TCP2.1 TCP握手机制2.1.1三次握手过程Ⅰ.为什么需要三次握手,两次不行吗?Ⅱ.什么是半连接队列?Ⅲ.ISN(Initial Sequence Number)是固定的吗?Ⅳ:三次握手过程中可以携带数据吗?Ⅴ. SYN攻击是什么?2.1.2 四次挥手过程Ⅰ. 挥手为什么需要四次?Ⅱ.四次挥手释放连接...原创 2020-02-13 21:55:20 · 758 阅读 · 0 评论