您现在的位置: > 首页 > 软件应用 > 操作系统
>> 最新教程
>> 热门教程
>> 最新游戏资讯
>> 热门游戏资讯
利用Vista和WCF中强大P2P通信功能
作者:本站                来自:安迪教程网                 加入时间:08-07-03                进入论坛讨论

  4.编写连接到网格和从网格接收消息所需的 Windows Communication Foundation 代码。

  5.编写向网格中其他节点发送消息所需的代码。

  图 3 显示了完成后的应用程序。步骤 1 和 2 是开发任何 Windows 窗体应用程序时所必需的步骤,因此我将不在这里对其说明。对于任何 Windows Communication Foundation 应用程序,开发过程的第一步是定义服务合约。PeerChannel 要使用的服务合约类似于其他 Windows Communication Foundation 合约,只不过 PeerChannel 需要所有的 OperationContractAttribute 批注都将 IsOneWay 实例属性设置为 true。此属性规定消息的接收方不应发送回复。如果想要接收方发送回复,可以将服务合约定义为双向合约,但每个 OperationContractAttribute 批注仍必须将 IsOneWay 实例属性设置为 true。就此例而言,我不会创建一个双向合约(Windows SDK 中有几个双向合约的示例)。我要使用的合约如下所示:

   [ServiceContract]
  interfaceIPictureViewer{
  [OperationContract(IsOneWay=true)]
  voidSharePicture(Streamstream);
  }

hp.agwcn.com

  图 3 PictureViewer P2P 应用程序

  请注意,SharePicture 接口方法用 OperationContractAttribute 属性加以批注,并且 IsOneWay 实例属性被设置为 true。SharePicture 操作将 System.IO.Stream 视为一个参数,因为此操作将被用于向网格中其他节点传送图片的字节。

  在定义了我们的服务合约后,现在就该添加 Windows Communication Foundation 代码,该代码会将我们的应用程序连接到 PeerChannel 网格并且被动等待来自网格的消息。首先,在窗体中实现新定义的服务合约。然后,定义类型 ServiceHost 的字段。所接收的消息将被发送到 frmPictureViewer 类型的单个实例。要表明此功能,我必须将正确的 ServiceBehavior 分配给 frmPictureViewer 类型。这两个步骤如下所示。

<<< << < 1 2 3 4 5 6 7 8 9 10 > >> >>>
相关教程
联系方式:QQ:6084884 email:agwcn@126.com 粤ICP备05055782号
本网站中发布的文章只代表发表人的个人观点,不代表安迪教程网网站的立场
copyright© 2000-2004 安迪教程网 All rights reserved agwcn.com