此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Windows Phone 8 的通信

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

本主题介绍 Windows Phone 应用如何与其他应用以及远程数据存储进行通信。了解用于近场通信 (NFC)、IP 语音 (VoIP)、开放数据协议 (OData) 客户端和 Web 服务的套接字、蓝牙和邻近感应 API。本主题还介绍网络信息和数据感知 API。

本主题包括以下部分。

为了在整个网络中进行双向通信(例如通过聊天应用),Windows Phone OS 7.1 支持基于套接字的应用。使用套接字,客户端或服务器可以发起通信,并且一个终结点可以向另一个终结点独立发送消息。套接字应用使用 System.Net.Sockets API。有关更多信息,请参见 Windows Phone 8 的套接字

蓝牙是一种无线通信技术,通过它,10 米范围以内的设备可以互相通信。通过使用此技术,设备可以进行无物理连接的通信。无线耳机、遥控玩具和多人游戏都是使用蓝牙技术的设备和应用程序示例。通过使用 Windows Phone 8 中引进的 API,您的应用能够通过蓝牙与其他应用或设备通信。有关更多信息,请参见 Windows Phone 8 的蓝牙

Windows Phone 8 支持使用近场通信 (NFC) 的 邻近感应 通信。邻近感应是指 Windows 运行时(支持近距离内设备之间的连接)中的类的集合。通过使用此 API,您的应用可以通过点击或通过浏览查找无线范围内运行您的应用(对等方应用)的其他设备来建立连接。例如,这其中的一个应用可能是多人游戏,其中的两个用户点击其手机共同建立一个共享游戏会话。要了解邻近感应 API,请参见 Windows Phone 8 的邻近感应

从 Windows Phone 8 开始,您可以开发用于 Windows Phone 的 IP 语音 (VoIP)。通过使用 Windows 音频会话 API (WASAPI) 子集,应用可以捕获并呈现音频流。Windows Phone VoIP 应用还可以流式传输基于视频的 VoIP 调用。有关更多信息,请参见 Windows Phone 8 的 VoIP 应用

通过 Windows Phone 8 中的数据感知功能,用户可以指定其数据计划的限制。数据感知将监视与用户指定的限制相关的数据使用。使用此信息,您的应用可以在用户接近其数据限制时通过减少数据使用,或在用户超过其数据限制时停止数据使用来帮助用户节省金钱。有关更多信息,请参见在 Windows Phone 8 中如何使用流量感知 API 调整数据使用量

任何基于 Web 的应用的用户体验都高度依赖手机网络连接的质量和可用性。Microsoft.Phone.Net.NetworkInformation 命名空间提供了几个类,应用可以通过它们了解有关其所在手机的网络状态的更多信息。例如,您的应用可以检查是否启用了手机网络数据或 WLAN 连接。您还可以使用 API 设置手机网络或非手机网络的网络首选项。有关更多信息,请参见 Windows Phone 8 网络和网络接口信息

Web 服务允许以编程方式访问 Internet 上的各种数据。数据服务是基于 HTTP 的 Web 服务,这种 Web 服务实现开放数据协议 (OData) 以将数据公开为资源,这些资源通过数据模型进行定义并通过统一资源标识符 (URI) 进行寻址。

Web 和数据服务都使用一种基于 XML 的开放式语言来描述其基于 Web 的 API。使用 Web 服务描述语言 (WSDL) 描述 Web 服务提供的服务。概念性架构定义语言 (CSDL) 描述数据服务提供的数据模型。有关更多信息,请参见 Web 服务描述语言 (WSDL)概念性架构定义文件格式

Web 服务

因为在 Internet 上发布的绝大多数 Web 服务都基于 HTTP,因此您可以使用 HttpWebRequestWebClient 类从 Windows Phone 应用访问 Web 服务。为了帮助减轻生成 Web 服务通常所需的其他代码的任务,可以使用服务模型代理生成工具 (SLsvcUtil.exe) 或 Visual Studio 的“添加服务引用”功能生成代理类。有关如何使用 WebClient 类访问 RSS 源的示例,请参见如何为 Windows Phone 8 创建基本的 RSS 阅读器

根据 Web 服务 WSDL 文件,Web 服务代理类为 Web 服务实现序列化、请求和响应代码。您可以在 Windows Phone 应用中使用生成的代理类与相应的 Web 服务进行通信。

数据服务 (OData)

数据服务是基于 HTTP 的 Web 服务,该 Web 服务实现开放数据协议 (OData) 以将数据公开为资源,这些资源通过数据模型进行定义并通过 URI 进行寻址。这使您能够使用具象状态传输 (REST) 的语义(尤其是 GET、PUT、POST 和 DELETE 等标准 HTTP 谓词)访问和更改数据。

由于数据服务是基于 HTTP 的,因此您可以使用 HttpWebRequestWebClient 类从 Windows Phone 应用访问数据服务。为了帮助减轻生成数据服务所需其他代码的任务,您可以使用 WCF 数据服务客户端实用工具 DataSvcUtil.exe 或 Visual Studio 的“添加服务引用”功能生成一个基于数据服务 CSDL 文件的代理类。您可以在 Windows Phone 应用中使用生成的代理类与相应的数据服务进行通信。

说明注意:

通过 WCF 数据服务,可以在 .NET Framework 应用中从 Web 创建并使用开放数据协议 (OData) 服务。Windows Phone 的 OData 客户端不是 Windows Phone SDK 的一部分,必须单独下载。有关 OData 和 WCF 数据服务的更多信息,请参见 Visual Studio 的 WCF 数据服务工具

类和实用工具

以下列表包含可以直接用于发出 Web 请求的类以及一些实用工具,这些工具可用于生成经过优化以从 Windows Phone 应用发出特殊类型 Web 请求的其他类。

  • WebClient 类:提供将数据发送到基于 URI 的资源和从中接收数据的通用方法。

  • HttpWebRequest 类:提供特定于 HTTP 的抽象 WebRequest 类的实现。

  • Silverlight 服务模型代理生成工具 (SLsvcUtil.exe):生成基于 Web 服务 WSDL 文件的代理类。

  • Visual Studio 的“添加服务引用”功能:生成基于 Web 服务 WSDL 文件或数据服务 CSDL 文件的代理类。

  • WCF 数据服务客户端实用工具 (DataSvcUtil.exe):生成基于数据服务 CSDL 文件的代理类。

下表显示哪个类可以用于各种类型的基于 HTTP 的编程:

常规 HTTP 编程

基于 HTTP 的 Web 服务

数据服务

WebClient 类

HttpWebRequest 类

SLsvcUtil.exe 生成的类

“添加服务引用”功能生成的类

DataSvcUtil.exe 生成的类

WebClientHttpWebRequest 类可用于很多基于 HTTP 的编程,从常规 HTTP 请求到编程 Web 和数据服务。根据您的应用使用 Web 或数据服务的方式,以独占方式使用 WebClientHttpWebRequest 类可能需要您编写大量的代码。

当开发 Web 或数据服务客户端应用时,在 HTTP 级别编程的替代方法就是使用代理类。代理类是分别表示基于相应 WSDL 或 CSDL 文件的 Web 服务或数据服务的类。有关更多信息,请参见本主题的以下各节。

安全注意事项

当连接到需要应用密钥的 Web 服务时,不要将应用密钥随将在手机上运行的应用一起存储。而是创建一个代理 Web 服务来对用户进行身份验证,然后使用该应用密钥调用外部云服务。有关安全建议的更多信息,请参见 Windows Phone 8 的 Web 服务安全性

Web 服务限制

每个 Windows Phone 应用最多允许有 6 个并发传出连接。

当移植 Web 服务客户端代码以便在 Windows Phone 应用中使用时,请检查 .NET API 以确保它支持代码中所使用的方法。有关 Windows Phone 支持的 API 的更多信息,请参见 适用于 Windows Phone 的 .NET API

显示:
© 2015 Microsoft