Windows实时通信技术的应用

来源:互联网 发布:新linux 安装lnmp 编辑:程序博客网 时间:2024/05/18 18:20

在应用程序中集成 Windows 实时通信


2002年1月15日

 

摘要:开发人员可以使用 Windows XP RTC Client API 在应用程序中添加丰富的实时通信。本文概述了 RTC 技术以及在应用程序中实现该技术所需的组件。

目录

 

  • 简介
  • 启用了 RTC 的应用程序
  • 启用了 RTC 的应用程序方案
  • RTC Client 应用程序编程接口
  • RTC 对象
  • 配置文件和配置
  • 客户端事件
  • RTC 接口
  • 更多信息

简介

目前,我们可以通过多种方式与我们的同事、客户、支持网络、家人和朋友进行通信。电子邮件虽然已经成为非常普遍的通信机制,但却不够实时。电话虽然可以进行实时通信,但却具有局限性。您只能听到声音,而无法知道对方当时是否可以接听电话。

进入实时通信

实时通信 (RTC) 提供了丰富的通信和协作功能以及现场信息,使您知道何时何地可以找到要联系的对象。RTC 的许多功能存在于其他窗体或应用程序中,但尚未集中到一个实现方案中。

例如,由于易于使用和信息量大,即时消息 (IM) 已成为发展最快的 Internet 通信机制之一。IM 是实时的,所包括的即席功能使您可以得知何时可与对方联系。但是,单独使用 IM 却无法获得语音和视频会议以及联机协作等功能。

Microsoft® Windows® XP 在 Microsoft® Windows Messenger 中包括了所有这些 RTC 功能。使用 Windows Messenger,您可以通过文本、音频(PC 到 PC、PC 到电话以及电话到电话之间均可建立语音呼叫)和视频,以及共享白板或应用程序,与客户和同事进行实时通信。您可以使用联系人列表,通过即席功能得知您的联系人何时在线并有空。此外,这些功能不仅限于 Windows Messenger 应用程序,还可以通过 RTC Client API 在其他应用程序中使用。

启用了 RTC 的应用程序

Windows Messenger 客户端利用了 Windows XP RTC Client 组件。此客户端可在单个应用程序中提供所有 RTC 功能。但在很多情况下,需要使用辅助应用程序,因为通信是一个非常繁重的任务。

RTC 基于 Internet 技术和协议标准,可使其他使用这些技术的设备和应用程序与 Windows Messenger 客户端进行通信。

Windows XP RTC Client 还提供开放的应用程序编程接口 (API),因此在 Windows 平台上创建的日常应用程序可以添加这些功能。例如,基于 Web 的购物应用程序中可以包含一个按钮,用来获得即时帮助。单击该按钮后,应用程序将打开与客户支持代表或技术支持人员的 IM 会话。

启用了 RTC 的应用程序方案

Windows Messenger 可在单个程序包中提供大多数 RTC 功能。此解决方案具有多种用途,对于许多方案都可能是最佳解决方案。在某些情况下,在应用程序中添加此功能可以使您的程序更易于使用、更完善或更实用。

从以下几个示例方案中,您将更加深刻地体会到,在应用程序中添加 RTC 功能后的强大功能。通过该技术还可启用许多其他功能。

客户关系管理 - 帮助台远程帮助

Jim 打算通过在线书店买书,但是在输入信用卡和地址时遇到了问题。按下 Web 页上的按钮后,他便立即进入与 Amazon 客户代表的 IM 对话中。通过 IM 和应用程序共享,客户代表找出了问题的症结(Jim 未输入信用卡有效期),图书订购成功完成。如果不能获得实时帮助,Jim 可能便会放弃,交易就不会成功。

知识管理 - 小组和项目通信 Web 站点

产品开发小组站点根据职责分为若干功能区域(例如,客户端小组和服务器小组)。通过浏览相关的功能区域,用户可以看到一个窗格,其中列出了该小组中的所有相关成员及其状态(是否在场)。单击相关联系人后,用户便可立即与小组中的该成员进行通信。迅速获悉现场信息的功能可以避免多次发送电子邮件和拨打电话的需要,从而消除不便。

电子商务 - 合作伙伴/供应商通信

大型制造商的外部网络中连接了很多供应商。他们可以使用 RTC Client API 来开发传达特定信息的应用程序,从而取代通过发送电子邮件来讨论订单等事宜的通信方法。例如,制造商发送了订购 1000 个小器具的订单。使用 IM 可以迅速收到确认,得知供应商已收到订单并将订单信息输入系统。在订购过程中,还可在需要时自动检索订单状态。

系统警报 - 发送至用户的台式 PC 或移动设备

某公司部署了一个电子邮件服务器。为了节省客户支持的电话费用,他们开发了一个小应用程序。该程序可在电子邮件服务器将要停止运行以进行例行维护时使用 IM 通知该服务器的所有用户。这样,即使电子邮件服务器没有联机,用户也可以获得该消息并不再拨打电话。

游戏

大多数的多人游戏均已包含了与对手或伙伴交谈的机制。但是,您是否想象过在游戏即将结束时能够看到对方的面孔?

其他用途

在应用程序中使用 RTC 功能还有许多其他用途。通过将 RTC 与现有的业务应用程序集成,可以进行即时通信与协作,从而提高工作效率。这将使许多企业和部门(包括金融业、制造业、保健和人力资源等)受益匪浅。

RTC Client 应用程序编程接口

为了访问 Windows Messenger 所使用的 RTC 客户端功能,Windows XP 通过 RTC Client API 提供了 RTC。此 API 使应用程序能够进行 PC 到 PC、PC 到电话以及电话到电话的呼叫;可以在应用程序中添加功能,创建通过 Internet 或 Intranet 的 IM 会话;可以在用户的 PC 之间建立语音和视频呼叫;可以检索并显示一组联系人的现场信息;还可以添加应用程序和白板共享,以加强协作。

哪些人可能使用这些接口?内部开发组可使用这些 API,在其内部工具中添加 RTC 功能;软件供应商可以使用 RTC API 将 RTC 与其应用程序集成,或者建立专门的应用程序进行销售活动或满足客户需要;电话服务提供商也可以创建应用程序,为居民或公司客户提供电话服务;打算销售 RTC 服务的电信提供商可以使用这些 API 创建自己的客户端应用程序。可以使用 C++ 或 Microsoft® Visual Basic® 创建这些应用程序。

RTC 对象

RTC 的基本代码模型为 COM。RTC 中用于通信的对象包括 ClientSessionParticipant 对象。

 

 

图 1:RTC Client COM 对象

  • Client 对象。Client 对象实现 IRTCClient 接口,并为会话设置允许的会话类型和参数,例如首选设备和媒体类型、比特率及其他媒体属性(如音量和消除回音)。此接口还可用于创建 Session 对象。
  • Session 对象。Session 对象通过 IRTCClient::CreateSession 方法创建,用于管理会话。此对象实现 IRTCSession 接口,该接口用于启动、应答或终止会话、添加参与者以及进行其他会话管理。此对象支持 IM 和所有其他会话类型。例如,Session 对象可用于创建与合作者的 IM 会话,或启动与 Web 站点客户代表的音频呼叫。
  • Participant 对象。Participant 对象通过 IRTCSession::AddParticipant 方法创建,包含所有与会话参与者有关的方法,包括参与者的姓名和当前状态。此对象实现 IRTCParticipant 接口。

现场信息通过 BuddyWatcher 对象来管理。这些对象提供的接口可用于管理与联系人和现场合作伙伴有关的检索信息。

  • Buddy 对象。Buddy 对象用于管理、设置和检索有关联系人的信息。Buddy 对象在通过 IRTCClientPresence::AddBuddy 方法添加联系人时创建(IRTCClientPresenceClient 对象中实现)。通过此对象的 IRTCBuddy 接口,可以检索联系人的姓名和状态等信息。
  • Watcher 对象。Watcher 对象用于检索有关观察者(已将您添加为联系人的人)状态的信息。此对象也通过 IRTCClientPresence 接口添加,但使用的是 AddWatcher 方法。使用此对象的 IRTCWatcher 接口中实现的方法,可以检索观察者的状态和其他信息。

配置文件和配置

Profile 对象用于维护客户端配置。配置文件包含客户端显示和用户名、支持的会话类型等信息,还包括有关客户端 RTC 供应商的信息。使用此信息,可以了解可用于呼叫或处理现场信息的网络资源和帐户。Profile 对象通过 IRTCClientProvisioning 接口(在 Client 对象中实现)提供的方法创建。

客户端可创建配置文件以存储客户端用于访问网络服务所需的信息。客户端应用程序必须创建 XML 配置文件以存储客户端的配置信息。可以使用单独的配置文件为客户端配置使用各种提供程序、代理服务器或网关的不同类型的服务。

启动 RTC 后,客户端应用程序将创建并启用配置文件。

客户端事件

使用 RTC Client API 可以在发生各种 RTC 事件时通知应用程序。这些事件包括消息事件、会话状态更改、参与者状态更改、现场状态更改、设备更改和网络质量更改等。为实现这一目的,应用程序将通过 IRTCClient 接口设置事件筛选器(屏蔽),并在应用程序的事件接收对象中注册 IRTCEventNotification 事件接口。发生相关事件时,应用程序会将该事件的类型和对象提供给客户端的 Event 方法以进行处理。

RTC 接口

以上讨论了多种 RTC 对象中实现的接口。这些接口可用于向应用程序添加全部所需的 RTC 功能。有关 RTC interfaces(英文)及其相关方法的详细说明,请参阅 Platform SDK。

更多信息

有关 Windows XP 的最新信息,请查看 Windows XP 主页(英文)。

有关 RTC Client API 的详细信息,请参阅 Platform SDK 中的 Real-Time Communications (RTC) Client 文档(英文)。

原创粉丝点击