相关文章  
  • 解析Linux新技术对象存储文件系统(3)
  • 将Linux代码移植到Windows的简单方法(5)
  • 将Linux代码移植到Windows的简单方法(1)
  • 省时省力—在Linux系统上进行自动备份(3)
  • 省时省力—在Linux系统上进行自动备份(2)
  • 使用TC实现基于Linux系统的流量管理
  • Linux操作系统文件系统的桌面应用(3)
  • Linux操作系统上搭建C/C++IDE开发环境(3)
  • Linux操作系统上搭建C/C++IDE开发环境(1)
  • Linux操作系统下守护进程的编程方法(2)
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    Linux操作系统套接字编程的5个隐患(4)4

    图 1.UDP 的帧同步能力和缺乏帧同步的 TCP

    图 1 的上部说明一个 UDP 客户端和服务器。左边的对等层完成两个套接字的写操作,每个 100 字节。协议栈的 UDP 层追踪写的数量,并确保当右边的接收者通过套接字获取数据时,它以同样数量的字节到达。换句话说,为读者保留了写者提供的消息边界。

    现在,看图 1 的底部.它为 TCP 层演示了相同粒度的写操作。两个独立的写操作(每个 100 字节)写入流套接字。但在本例中,流套接字的读者得到的是 200 字节。协议栈的 TCP 层聚合了两次写操作。这种聚合可以发生在 TCP/IP 协议栈的发送者或接收者中任何一方。重要的是,要注意到聚合也许不会发生 —— TCP 只保证数据的有序发送。

    对大多数开发人员来说,该陷阱会引起困惑。您想要获得 TCP 的可靠性和 UDP 的帧同步。

    页码:[1] [2] [3] [4] [5]4页、共5页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved