WEB开发网
开发学院操作系统Windows Vista 利用Vista和WCF中强大P2P通信功能 阅读

利用Vista和WCF中强大P2P通信功能

 2008-05-27 17:19:12 来源:WEB开发网   
核心提示: 4.编写连接到网格和从网格接收消息所需的 Windows Communication Foundation 代码,5.编写向网格中其他节点发送消息所需的代码,利用Vista和WCF中强大P2P通信功能(9),图 3 显示了完成后的应用程序,步骤 1 和 2 是开发任何 Windows 窗体

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);
  }

利用Vista和WCF中强大P2P通信功能

图 3 PictureViewer P2P 应用程序

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

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

上一页  4 5 6 7 8 9 10  下一页

Tags:利用 Vista WCF

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接