zoukankan      html  css  js  c++  java
  • netty -- helloword

    Netty 是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

    换句话说,Netty是一个NIO框架,使用它可以简单快速地开发网络应用程序,比如客户端和服务端的协议。Netty大大简化了网络程序的开发过程比如TCP和UDP的 Socket的开发。

    TCP拆包、粘包:由于数据传递过程中,采用的是流的形式,就会出现拆包粘包的问题。

      比如:

    例子,让我们假设操作系统的TCP/TP协议栈已经接收了3个数据包:

    netty5_1.png

    由于基于流传输的协议的这种普通的性质,在你的应用程序里读取数据的时候会有很高的可能性被分成下面的片段。

    netty5_2.png

    因此,一个接收方不管他是客户端还是服务端,都应该把接收到的数据整理成一个或者多个更有意思并且能够让程序的业务逻辑更好理解的数据。在上面的例子中,接收到的数据应该被构造成下面的格式:

    netty5_3.png

    其中ABC、GHI发生了拆包情况,而DEF则出现粘包情况。

    netty HelloWord代码地址:https://github.com/hoboloser/netty

      

    参考资料: http://ifeve.com/netty5-user-guide/

  • 相关阅读:
    115. Distinct Subsequences
    91. Decode Ways
    72. Edit Distance
    python 输出 a+b
    求次小生成树
    判断最小生成树是否唯一
    二分法求最优值
    黑科技
    线段树+ 区间更新
    2018ICPC青岛赛区J题
  • 原文地址:https://www.cnblogs.com/binbang/p/7126047.html
Copyright © 2011-2022 走看看