netty入门笔记

1. 尝试一下helloword demo
    -->官方例子 https://github.com/netty/netty
    -->简书的入门级netty聊天demo
2.netty入门级群聊demo,发现有3个问题
    问题1:没有显示用户的名字  (现在处理)
    问题2:上下线显示  (channelActive/channelInactive监听实现)
    问题3:图片的传送  (待处理)
3.encoder decoder 都是(官方/第三方)提供??自定义encoder和decoder完全搞不懂是怎么弄的?
    -->官方的确有提供encoder和decoder
    -->如果有官方肯定优先使用官方的
    String     -->  StringDecoder/StringEncoder                                   
    Http       -->  HttpRequestEncoder / HttpResponseDecoder         
    对象传递 -->  ObjectEncoder/ObjectDecoder

4.Netty Client重连实现
    -->需要重链的情况:
        1.Netty Client启动的时候需要重连
        2.在程序运行中连接断掉需要重连。
        
5. TCP粘包/TCP拆包是什么? 怎么重现?怎么解决?
    "问题一"答案:
    eg:  假设客户端发送两个独立的数据包 [A] [B]给服务端
    服务端接收情况为:
    1.两个独立数据包[1][2],没有粘包和没有沾包
    2.两个数据包粘在一起[1,2],被称为tcp 粘包
    3.独立数据包[1]被拆分成[1-a][1-b]而且而且[1-b]和[2]数据包粘在一起
    4.一个数据包很大被多次拆分
    
    "问题二"答案:
    服务端连续不断接受客户端ByteBuf
    
    "问题三"答案: 使用LineBasedFrameDecoder
    eg: https://www.cnblogs.com/EnzoDin/p/7922003.html

6.  ByteBuf介绍

7. 文件传输,实际应用中有视频上传,图片上传     
    eg: https://www.cnblogs.com/cq-jiang/p/7620425.html   (项目说明)
          https://github.com/jlq023/netty                                   (github)

8. netty服务端和客户端代码的不同点(肤浅对比)?
    server :   两个EventLoopGroup  ServerBootstrap   有option/childHandler
    client :   一个EventLoopGroup   Bootstrap               无~~~~~~~~~~~~~~~~~~~

9.<<Netty 实战精髓>> 写的还可以

10.对象传递,字面意思就是netty服务器和客户端之间的java对象传递
    前提:java原始的POJO序列化  (额外提到一点: jdk自带序列化方案性能不是最优秀的?)
    eg:http://blog.csdn.net/AlbertFly/article/details/51527488
    
11. netty是在支持什么协议的关键代码在哪里?
12. ChnnelOption 都有哪些设置?
13. UDP广播,http2,websocket?
14. spdy比http协议web页面加载速度快50%,,,,http2的前身是spdyy
15. websocket + webRtc + layui的文字图片视频语音聊天
   

   

猜你喜欢

转载自my.oschina.net/u/2462659/blog/1611946