Socket导学

一、为什么Socket难

数据粘包、数据丢包、心跳维持、性能问题

 

二、目的

一套推送框架、IM传输原理、胜任物联网开发职位、协议制定者、理解其他相关库的底层原理

 

三、目标与收获

ByteBuffer               Channel    桥接技术  内存复用

                    NIO  

数据分片        Socket运用      性能分析

消息粘包          消息丢包      性能调试   并发封装

 

四、课程安排

底层协议

UDP、TCP

NIO大家族

案例实战:群聊天室,文件快传,即时语音等

 

五、底层协议

报文  协议  Mac地址

IP      端口   服务器

 

六、UDP、TCP、NIO

协议区别、性能比较、适用场景 

 

七、NIO --->NIO大家族

Selector

Channel (FileChannel、SocketChannel、ReadChannel)

Buffer (ByteBuffer、CharBuffer、IntBuffer)

 

八、群聊天案例

多客户端连接、UDP扫描功能、聊天消息转发、向NIO的转型、心跳包的实现、性能优化

 

九、文件传输案例

基于流的传输、文件发送中断、消息分片技术、消息混发技术

 

十、即时语音

直播推流、语音采集、语音压缩、接收与播放、实时消息模型

服务器桥接技术

 

十一、高性能的调度规则

利用多通道、线程池、多端写入、并发消费的原理达到高性能的数据调度

 

十二、健壮的数据消费流程

将socket抽象为Sender、Receiver

直接消费的数据为IoArgs

要实现数据的消费,需要IoProvider,在IoProvider中实现WriteSelector和ReadSelector

WriteSelector和ReadSelector通过线程池进行调度

首先,将事件注入到IoProvider中,当数据就绪的时候,会通过线程池的callback实现对数据的消费

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值