信道、接收器、接收链和信道接受提供程序

转载 2013年12月04日 21:09:03

http://www.cnblogs.com/rickie/archive/2004/10/16/52983.aspx

Channel, Sink, Sink Chain and Channel Sink Provider

 

为了扩展.Net Remoting,定制接收器(Sink)和信道接受提供程序(Channel Sink Provider),改变.Net Remoting的缺省行为,需要先了解.Net Remoting的相关概念及其运行机制。

 

下面先了解一些基本概念:

 

信道(Channel-是跨远程处理边界(无论是在应用程序域、进程还是计算机之间)在应用程序之间传输消息的对象。信道可以在终结点上侦听入站消息,向另一个终结点发送出站消息,或者两者都可以。

信道必须实现 IChannel 接口,该接口提供诸如 ChannelName 和 ChannelPriority 这样的属性。专用于在特定端口上侦听特定协议的信道实现 IChannelReceiver,而专用于发送信息的信道实现 IChannelSender(注:IChannelReceiver和IChannelSender接口都继承IChannel 接口)。TcpChannel 和 HttpChannel 对象都实现这两种接口,因此它们可用于发送或接收信息。

.Net Remoting Framework提供了TcpChannel 和 HttpChannel两个信道的实现。

 

在发送消息之前或接收消息之后,信道(Channel)沿着信道接收对象链(a chain of channel sink objects)发送每个消息。该接收链(sink chain)包含基本信道功能所需的接收器(Sink(如格式化程序接收器FormatterSink、传输接收器TransportSink或堆栈生成器接收器StackBuilderSink),但是您可以自定义信道接收链以便用消息或流执行特殊任务。

 

信道接收链(Sink Chain处理任何发送到应用程序域或从应用程序域发送的消息。此时,您只有消息,但是您可以任意操作该消息,而后面的处理将使用您在处理之后返回给系统的消息。这是实现日志记录服务、任何种类的筛选器或者客户端或服务器上的加密或其他安全措施的理所当然的位置。以下插图显示基本信道接收链的结构。



每个信道接收器(Channel Sink都处理流,然后将流传递到下一个信道接收器,这意味着您的接收器之前或之后的对象应当知道该如何处理传递给它们的流。(Sink/Channel Sink是同一个描述。)

StackBuilderSink 对象是服务器上远程对象前的最后一个消息接收器。

 

每个信道接收器(Channel Sink)或者实现 IClientChannelSink,或者实现 IServerChannelSink。客户端上的第一个信道接收器还必须实现 IMessageSink。它通常实现 IClientFormatterSink(它从 IMessageSink、IChannelSinkBase和 IClientChannelSink 继承),并被称作格式化程序接收器(Formatter Sink),因为它将传入的消息转换为流(IMessage 对象)。

 

信道接收提供程序(Channel Sink Provider-(实现 IClientChannelSinkProvider、IClientFormatterSinkProvider 或 IServerChannelSinkProvider 接口的对象)负责创建远程处理消息所流过的信道接收器(Channel Sink)。当远程类型被激活后,将从信道(Channel)中检索信道接收提供程序(Channel Sink Provider);然后在该接收提供程序上调用 CreateSink 方法以检索链上的接收器中的第一个Sink。

 

信道接收器(Channel Sink)还负责在客户端和服务器之间传输消息。信道接收器也链接在一起而形成一个链。当在接收提供程序上调用 CreateSink 方法时,该方法应该执行以下操作:

·         创建它自己的信道接收器。

·         在链中的下一个接收提供程序上调用 CreateSink。

·         确保下一个接收器和当前的接收器链接在一起。

·         将其接收器返回到调用方。

信道接收器负责将在它们上面进行的所有调用转发到链中的下一个接收器,并且应当提供用于存储对下一个接收器的引用的机制。

 

自定义信道接收器(Custom Channel Sinks)

自定义信道接收器被插入到格式化程序接收器(FormatterSink)和最后一个传输接收器(TransportSink)之间的对象链中。

 

传输接收器(TransportSink)

传输接收器是客户端上的链中最后一个接收器和服务器端上的链中第一个接收器。除了传输序列化的消息,传输接收器还负责将标头(Header)发送到服务器并在调用从服务器返回时检索标头和流。这些接收器内置在信道中,并且无法扩展。

 

简要总结.Net Remoting Infrastructure机制:

1,代理对象(Proxy)负责转发对Remote Objects的调用。

2,消息对象(Message Objects)用来调用Remote Methods的数据。

3,信道接收器(Sink/Channel Sink)用来远程方法调用(Remote method calls)处理消息。

4,信道接收提供程序(Channel Sink Provider)-一般用来将接收器(Sink)插入到信道接收链(Sink Chain)中。

5,格式化程序接收器FormatterSink-用来序列化/反序列化消息格式,进行传递。

6,传输接收器TransportSink-用来在进程或AppDomain之间传递序列化的消息。

 

Reference:

1, MSDN, .NET Framework 开发员指南, 接收器和接收链


信道容量和吞吐量、链路和信道辨析

无线通信中经常看到的名词,此处辨析一下:一、信道容量和吞吐量 信道容量是指互信息量的最大值。具体地说,就是在一定带宽和信噪比下,借助某种编码方案实现无差错传输时可以达到的最大速率,它是一个上界,在实际...
  • sophies671207
  • sophies671207
  • 2017年03月27日 19:04
  • 890

空闲信道 评估 收发机状态设置 短地址 长地址 phy 层的作用

空闲信道评估与能量检测相似,但其功能更加复杂,其目的是估计目标信道是否空 闲。空闲信道评估的方法主要有检测能量是否超过所设定的阈值(至少超过接收机灵敏 度 10db),或检测信道是...
  • gtkknd
  • gtkknd
  • 2014年09月03日 15:50
  • 1579

WLAN射频和信道

原文地址:http://support.huawei.com/ecommunity/bbs/10212257.html 有这样一个段子“嫁到俺村吧,俺村条件不赖,穿衣基本靠纺,吃饭基本靠党,致富基...
  • wang112031
  • wang112031
  • 2015年05月19日 19:18
  • 1177

传输信道和物理信道之间存在着映射关系

下面说说物理层。 无线链路物理层关系到网络的好坏,是重点,要提醒的是3GPP Release5中加入了高速下行链路接入,HSDPA.   传输信道和物理信道之间存在着映射关系。每个传输信道都有传...
  • maochengtao
  • maochengtao
  • 2014年08月10日 00:20
  • 3041

信道信息的获取和应用

 知己知彼,百战不殆--信道信息的获取和应用       上一回我们说到了变化莫测的MIMO信道,并且留下了一个美好的假设:“如果在发送数据之前,我们能够提前获得信道信息,是不是能对发送策略有...
  • rookiew
  • rookiew
  • 2016年05月18日 09:01
  • 3310

信道利用率总结专题

函数展开为幂级数@(微积分)特别需要准备的公式有:ex=1+x+12!x2+13!x3+...+1n!xn,x∈(−∞,+∞)ln(1+x)=x−12x2+13x3−14x2+...+(−1)n−1n...
  • u011240016
  • u011240016
  • 2016年11月12日 16:19
  • 4291

LTE的物理信道及其映射总结

物理信道:  1、下行物理信道:     物理下行共享信道(PDSCH)     ------------------- 承载下行业务数据      物理多播信道(PMCH) ---------...
  • haijin0829
  • haijin0829
  • 2015年03月25日 16:41
  • 17776

为什么WiFi自动信道选到的信道多数在1/6/11

为什么小极的自动信道选择选到的信道只会在1、6、11这三个信道呢?WiFi不是一共有10几个信道吗?其他信道岂不是浪费了? 这个问题是个非常典型的问题,问100个人,几乎100个人不知道答案的。为了...
  • linuxjourney
  • linuxjourney
  • 2014年10月06日 14:46
  • 2316

瑞利信道:从原理到实现

瑞利信道模型   瑞利信道模型是无线通信信道最重要、最基础的的仿真模型。无线信道中的平坦衰落信道基本上都是在瑞利信道模型的基础上修改而成,比如应用同样广泛的莱斯信道就可以通过在瑞利信道的基础上简单的...
  • caozhankui
  • caozhankui
  • 2014年02月25日 20:20
  • 6909

WLAN中AP信道分配问题

WLAN中AP信道分配问题 随着无线技术发展以及无线终端的普及,基于IEEE802.11标准的WLANs需求也越来越多。且由于低成本、操作简单、使用无需执照的频谱(ISM 2.4G、5G),如今许多...
  • xy1131975903
  • xy1131975903
  • 2015年04月30日 10:36
  • 1545
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:信道、接收器、接收链和信道接受提供程序
举报原因:
原因补充:

(最多只允许输入30个字)