Fork me on GitHub

WCF 消息帧格式

在TCP/IP协议栈中,当数据通过协议栈向下流动时,每一层都要给数据增加控制信息用于确保正确的传递。控制信息放置在被传送数据的开始,称之为包头,这种在协议栈中每一层都增加传递信息的过程称为封装。也就是说,栈中每层软件对传递的数据都要进行格式化,使之与特定的协议相适应,即每层都在上层的基础上加一个与协议相对应的包头;而当数据在协议栈中反方向(由底层向上)流动时,协议软件就以相反的方式处理数据,即每一层都剥去栈中对应层增加的包头,然后将数据传递给上一层,这就是拆封

数据是网络和TCP/IP协议栈传输的实体和服务对象,当用户向网上发送数据时,首先将用户组成包(即应用数据包),再向下传送到传输层。TCP是一个面向流的协议,高层的协议不是面向流的,需要自己来设计消息的大小,开始和结束点,这就是消息的帧格式。

在WCF就是采用消息帧格式,支持TCP 传输和SOAP消息,WCF没有提供对UDP的默认支持,UDP的传输就需要自己去实现了。

Nicholas Allen在博客中写了一个系列的文章来说明WCF的消息帧格式:

Message Framing, Part 1

Message Framing, Part 2

Message Framing, Part 3

Message Framing, Part 4

Message Framing, Part 5

Message Framing, Part 6

Message Framing, Part 7

 

posted @ 2009-06-12 23:02  张善友  阅读(1549)  评论(1编辑  收藏  举报