雨疏风骤

编程/音乐/护肤/美食

  VC知识库BLOG :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  14 随笔 :: 0 文章 :: 1176 评论 :: 9 Trackbacks
<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

留言簿(90)

随笔分类

随笔档案

文章档案

相册

走过路过不要错过^_^

搜索

最新评论

阅读排行榜

评论排行榜

Windows实时通信技术的应用

Tom Fout

Microsoft Corporation

January 15, 2002

摘要:Windows XP RTC的客户端API使得开发人员能够在自己的应用程序中实现实时通信。本文介绍了RTC技术和应用这一技术所必须的组件。

 

目录:绪论

RTC-Enabled 应用

RTC-Enabled应用场合

RTC客户端应用程序接口

RTC对象

Profiles and Provisioning

客户端事件

RTC接口

更多信息

 

绪论

今天,我们可以采取很多方法和我们的伙伴、客户、支持者、家庭和朋友进行交流。E-mail已经成为一个普遍深入的交流方式,但是它的实时性不强。电话被证明是一种好的交流方式并且具有实时性,但是它也有局限性,比如只有声音的交流,并且它缺乏一种机制来使我们知道是否我们交流的另一方已经准备好接听我们的电话。

 

走进实时通信

Real-Time Communications (RTC)提供了丰富的与现场信息相结合的通信和协作特征,使你能够知道在何时何地找到你的联系人。RTC的许多特征以另外的形式或者在其他的应用中有所体现,但是这些特征从未被结合为一个单独的实现。

例如,Instant Messaging (IM)即时消息是发展最快的Internet通信机制之一,因为它实现简单并且效率高。IM具有实时性,而且具有现场能力,使你知道何时能找到你的联系人。但是它不具备另外一些特征,例如音频和视频会议以及在线合作等。

Microsoft® Windows® XPMicrosoft® Windows Messenger中包含了所有的实时通信功能。Windows Messenger使你能与你的客户和同事通过使用文本、音频(语音电话可以在PCPCPC到电话、电话到电话之间建立)、视频、共享白板和应用程序的方式进行交流。你可以建立一个联系人清单,通过现场信息得知你的联系人何时在线何时可以联系得到。并且,这些能力并非只限于Windows Messenger,通过使用RTC客户端API可用来丰富其他的应用程序。

 

RTC-Enabled应用程序

Windows Messenger客户端支持Windows XPRTC客户端组件。这一客户端在一个单独的应用程序中体现了所有RTC能力。然而,在许多情况下,因为通信的负担很重,往往需要一个第二方程序。

RTC基于网络技术和协议标准,这使得其他的设备和应用程序能使用这一技术与Windows Messenger进行通信。

Windows XPRTC客户端的实现也提供了一个开放的应用程序接口,因此,基于Windows平台的应用程序可增加RTC功能。例如,一个基于web的购买程序可包含一个即时求助按钮。点击该按钮之后,应用程序就会打开一个在客户与技术支持人员之间建立的IM会话。

 

RTC-Enabled应用场合

Windows Messenger在一个单独的应用中包含了RTC的许多功能。这一解决方案有许多用处并且在许多场合可能是最好的解决方案。很多情况下,在你的应用程序中包含这些功能会使事情变得更容易,更完善,更棒。

下面是一些将RTC功能包含进应用程序的例子。使用这一技术的其他例子还有很多。

客户关系管理——桌面远程帮助

    Jim想在在线书店购买一本书,但是他的信用卡好像有点问题。通过点击网页上的一个按钮,他立即与Amazon(书店的名字)的代表建立了IM会话。通过即时消息和应用程序的共享,代表发现了并解决了问题。这本书也被定购了。若没有这种实时帮助的能力,Jim很可能就放弃了这次购买,这笔生意也就丢掉了。

知识管理——团队和项目的通信站点

    产品研发团队的站点有责任的分工(例如客户机或者服务器团队)。通过浏览不同的责任区域,用户能够找到一个列出了团队所有成员以及他们在场与否的面板。通过点击相关的连接,用户能够立即看到团队里的成员。这种即时知识的出现减少了E-mail和电话的数量,减少了失败。

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

一个庞大的制造厂商有很多供应商,这些供应商连接到不同的外部网络中。不采用发送电子邮件等方式来讨论订单,他们可以使用RTC的客户端API开发一个应用程序,用该程序传达特定信息。例如,制造商可以使用IM发一个1000个器具订单,并且能够立即确认订单已经传送到了供应商一方并且进入了供应商的系统。随着订单的增长,订单发送的状况可以在需要的时候随时取得。

系统警告——发送至用户PC机桌面或者移动设施

一个公司已经开发了一个E-mail服务器。为了使技术支持的电话能减少,他们开发了一个小的应用程序,这个程序能通知所有某一特定的E-mail服务器用户(使用IM)说这个服务器将要暂停以便进行例行的维护保养。即使E-mail服务器已经不能上线,用户也能收到消息,使得技术支持人员得以清静。

游戏

大多数的多人游戏都包括了和对手以及同伴聊天的机制。但是你能想象在你将要结束你的朋友的游戏的时候看到他的脸么?

其他用处

    在应用程序中RTC的功能还有很多其他潜在的用处。通过将RTC集成到现存的商业软件中可以实现即时通信和协作,这导致了生产力的提高,为很多行业和部门,包括金融、制造业、卫生保健和人力资源等带来了好处。

RTC客户端应用程序接口

为了获得与在Windows Messenger中实现的同样的RTC客户端功能,Windows XP通过RTC客户端API开放了RTC。这一API使应用程序能够创建从PC-PC, PC-phone或者 phone-phone的呼叫。应用程序能够增添在Internet或者Intranet上创建IM会话的功能。在PC机用户之间,语音和视频呼叫都可以建立。应用程序能获得并显示一系列联系人的现场信息。通过增加应用程序和白板的共享的功能,可以加强双方的合作。

谁可以使用这些接口呢?内部的开发团体可以使用这些API增加内部工具的功能。软件公司可以使用RTC APIRTC功能集成到自己的应用程序中,或者建立用于出售的专门软件,或者用来满足客户的需要。电话服务提供者可为住宅或者公司用户建立应用程序。想要出售RTC服务的电信提供者可通过使用这些APIs为他们的客户建立客户端应用程序。可使用C++Microsoft® Visual Basic®建立应用程序。

 

RTC对象

RTC的基本编码模型是COM。在RTC中用于通信的对象分别是Client客户端、Session会话对象和Participant参加者对象。插图见连接:

1.RTC客户端COM对象

Client对象:Client对象实现了IRTCClient接口,并且为会话建立了允许的类型和参数,比如首选设备、媒体类型和比特率和其他的媒体属性,比如音量和回波抵消。这个接口也被用于创建会话对象。

Session对象: Session对象通过IRTCClient::CreateSession方法创建,被用于管理一个会话。这个对象实现了IRTCSession接口,这一接口用于初始化、回复或者终止一个会议,增加参加者和其他的会议管理。这个对象支持IM 和其他的会话类型。Session对象可用于,例如,创建一个与你的朋友的IM会议,或者开始一个与Web站点代表的音频呼叫。

Participant对象:Participant对象由IRTCSession::AddParticipant方法创建,包含了与会议参加者有关的所有方法。它包括了参加者的姓名和当前状态。IRTCParticipant接口 由该对象实现。

现场信息由Buddy Watcher对象管理。这些对象提供接口,用于管理得到的与联系人和现场成员有关的信息。

Buddy对象:Buddy对象用于管理、设置和取回与联系人相关的信息。Buddy object is created 当通过IRTCClientPresence::AddBuddy方法添加了一个联系的时候,一个Buddy对象被创建(IRTCClientPresenceClient 对象实现)。诸如联系人的姓名和状态的信息可由IRTCBuddy接口获得。

Watcher对象:Watcher用于获取一个watcher的信息, watcher把你添加为联系人。这个对象也可使用AddWatcher方法通过IRTCClientPresence接口添加。Watcher的状态和其他信息使用在IRTCWatcher接口中实现的方法获得。

构造文档(profile)和设置

一个构造文档(profile)对象用于维护客户端的设置。一个构造文档(profile)对象包括了客户端的显示、用户姓名、支持的会议类型和客户端RTC提供者的信息。这一信息可以获得网络资源的情况,并且能用于设置呼叫或者处理出席信息。构造文档对象(profile)由IRTCClientProvisioning接口(在Client对象中实现)创建。

客户端创建了一个构造文档来存储信息,用于客户进入网络上的服务。一个客户端应用程序必须创建一个XML文档来保存客户端的配置。个别的构造文档(profile)可使用设不同的提供者、代理服务器或者网关提供给客户端不同类型的服务。

初始化RTC之后,客户端应用程序创建并且激活一个构造文档(profile)对象。

客户端事件

RTC的客户端API允许通过不同的客户端事件通知应用程序,包括消息事件、会话状态变化、参与者状态变化、出席状态变化、设备变化和网络质量变化等。在具体实现中,应用程序通过IRTCClien接口设置一个事件过滤器,并且在应用程序A中注册一个IRTCEventNotification事件接口。当感兴趣的事件发生时,将事件类型和对象提供给AA的事件函数进行处理。

 

RTC接口

上文所讨论的RTC对象的几个接口已经实现了。这些接口可用于添加期望的RTC功能到应用程序中。RTC的接口和相关方法在SDK中有详细的文档描述。

 

更多信息

要想获得关于XP的最新信息,请参阅Windows XP home page

要想获得关于RTC客户端API的详细信息,请参考SDK里的Real-Time Communications (RTC) Client documentation

posted on 2005-03-17 12:17 燕七 阅读(3176) 评论(12)  编辑 收藏

评论

# re: Windows实时通信技术的应用 2005-03-17 13:12 oshj
教我英文吧:-)

# to oshj 2005-03-17 14:26 燕七
得,得罪人拉~嘻嘻,我哪里敢教你啊

# re: Windows实时通信技术的应用 2005-04-14 09:34 求救者
大侠,我今年做得毕业设计就是要用RTC。
老师给了我一个英文资料,我都看闷了。
有不少东西还是不懂,希望你教教我,
不要嫌我笨啊。
你的联系地址是什么,能告诉我吗?
我的地址是:dingkeyu1984@163.com

在此,先谢谢了
期待你的回信

# re: Windows实时通信技术的应用 2005-06-02 16:54 网络会议
推荐一个网络视频会议软件,<a href="http://www.eyesom.com" target="_blank">视频会议/网络视频会议</a> 
 

# /即时通讯 2005-09-27 11:36 rong
推荐一个企业内部建立使用的、安全的、融合Web邮件服务器的即时通信系软件

:[url=http://www.eyesom.com/products/im.htm]企业即时通信/即时通讯/实时通信系统/IM软件

/软件IM/即时通讯软件[/url]


# re: Windows实时通信技术的应用 2005-10-07 10:20 eyesom

推荐一个企业内部建立使用的、安全的、融合Web邮件服务器的
即时通信系软件:[url=http://www.eyesom.com/products/im.htm]
实时通信系统 /实时通信系统/IM系统/即时通讯方案/IM方案[/url]


# re: Windows实时通信技术的应用 2006-12-29 19:45 网络电话通信
不错,支持

# re: Windows实时通信技术的应用 2007-04-03 12:01 别处
行业门户即时通信系统IM(奥博即时通信系统, 集成视频会议),
类阿里旺旺的“贸易通”功能,最新的版本已经发布,
欢迎下载试用~~

应用领域:
1. 面向高端商务,商贸,各行业门户网站。
2. P2P 数据交换(文件传输,多人视频音频会议应用)。
3. 已有会员整合,"一站式" 服务应用领域。
4. 远程教学,咨询等应用。 
5. 高稳定性,高负载大用户量在线即时通信环境。

(介绍, 截图, 报价):http://www.orbber.com


标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]