zoukankan      html  css  js  c++  java
  • WCF 摘要

    WCF中实现双工通信

    参考:

    http://www.cnblogs.com/artech/archive/2007/03/02/661969.html

    MEP,Message Exchange Pattern ,消息交互模式

    WCF客户端与服务器之间是通过消息进行通讯,有必要了解WCF的消息交换模式,以对消息的发送和接受有更直观的理解。在WCF中,有三种消息交换模式:数据报模式、请求——响应模式、双工模式。

    1.数据报模式(One Way Calls)/Datagram

    数据报模式指的是发送端负责把消息发送给对方,并且收到确认消息后,就完成交互方式。在这种模式下,发送方唯一能确认的是消息发送成功,而对于消息是否最终到达服务的终结点,是否被成功处理,发挥的结果如何等都一无所知。即使客户端成功发送消息,也并不保证服务已经收到消息

    数据报模式存在以下特点:

    1)返回类型只能是void ;2)不能包含ref或者out类型参数; 3)只有客户端发起请求,服务端并不会对请求进行回复。

    2.请求响应模式(Request/Reply)

    在请求响应模式中,客户端发送一个消息并且接收一个返回消息来完成一次交互。在该模式中,消息的发起端必然是客户端,并且从服务端返回只有一条消息。客户端在发送出消息后,会阻止当前进程并且等待服务端返回消息。请求响应模式是缺省的消息交换模式,类似于Http中的请求/响应模式,这种交换模式是使用最多的一种。请求响应模式调用的实例包括远程调用(RPC)和浏览器的Get请求。此模式也称为半双工。

     具有如下特点:

    1)调用方法后需要等待服务的消息返回; 2)在这种模式下,服务端永远是服务端,客户端就是客户端,职责分明。

     3.双工模式(Duplex)

    在双工模式中,客户端和服务端都可以任意地向对方发送消息,而对方也可以以任意的次序来接收消息。在这种模式下,发送端和接收端的概念不再适用,取而代之的是通信的两个端点。

    两种典型的双工MEP

    双工(Duplex)模式的消息交互方式体现在消息交换过程中,参与双方均可以向对方发送消息。

    双工消息交互模式使客户端回调(CallBack)客户端操作成为可能。

    1.请求过程中的回调

    这是一种比较典型的双工消息交换模式的表现形式,客户端在进行服务调用时,附加上一个回调对象;服务在相应的处理中,通过客户端附加的回调对象(实际上是调用回调服务的代理对象)来回调客户端的操作(该操作在客户端执行)。整个消息交换的过程中,实际上由两个基本的消息交换构成,其一是客户端正常的服务请求,其二是服务端对客户端的回调。两者可以采用请求响应模式,也可以采用单向(One Way)的MEP进行消息交换。

    2.订阅—发布

    订阅发布模式是双工模式的一个典型的变体。在这个模式下,消息交换的双方变成了订阅者和发布者,若干订阅者就某个主题相发布者申请订阅,发布者将所有的订阅者保存在一个订阅列表中,在某个时刻将主题发送给该主题的所有订阅者。实际上基于订阅—发布模式的消息交换也可以看成是两个基本模式下消息交换的组合,申请订阅是一个单向模式的消息交换(如果订阅者行为得到订阅的回馈,该消息交换也可以采用请求—响应模式);而主题发布也是一个基于单向模式的消息交换过程。

  • 相关阅读:
    设计一个移动应用的本地缓存机制
    LeetCode 15
    POJ 2411
    Mahout构建图书推荐系统【一起学Mahout】
    firefox篇
    zTree实现删除树节点
    Tomcat与Servlet工作流程
    cocos2d 重写顶点着色语言
    将HTML格式的String转化为HTMLElement
    JQuery总结
  • 原文地址:https://www.cnblogs.com/RealAlex/p/2777059.html
Copyright © 2011-2022 走看看