微软实时通信API多客户端通信实战(3)

2016-02-19 12:58 5 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是微软实时通信API多客户端通信实战(3),一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

创建 XML 配置文件

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  以下代码演示如何创建 XML 配置文件字符串。

HRESULT CSIPLogin::CreateXMLProvision(LPSTR szURI, LPSTR szSIPIP,
LPSTR szTransport, BSTR *bstrBuf)
{
... .

// 生成 XML 装置文档
wsprintf(szBuf, "<provision key="AVDConf_2" name="AVDConf_2">"
"<user uri="%s" account="" password="" realm="%s" />"
"<sipsrv addr="%s" protocol="%s" %s role="proxy">"
"<&&keyword=session&Submit=+%CB%D1%CB%F7+"session party="first" type="pc2pc" />"
"<&&keyword=session&Submit=+%CB%D1%CB%F7+"session party="first" type="pc2ph" />"
"<&&keyword=session&Submit=+%CB%D1%CB%F7+"session party="first" type="im" />"
"</sipsrv>"
"<sipsrv addr="%s" protocol="%s" %s role="registrar"/>"
"</provision>",
szURIBuf, szRealm,
szSIPIP, szTransport, bBasicAuth ? "auth="basic"" : "",
szSIPIP, szTransport, bBasicAuth ? "auth="basic"" : ""
);

... .

return S_OK;
}
 
  在本文前面显示的示例应用程序和代码片段中,无须包括帐户用户 ID 和密码,因为 SIP 服务器不需要它。但是,如果知道 SIP 服务器需要登录帐户,则可以在配置文件字符串中包括用户 ID 和密码,以便登录到 SIP 服务器。注册需要的信息包括用户的统一资源标识符 (URI)、领域或域、RTC 服务器 IP、验证方法以及用于与服务器通信的传输协议。支持的传输协议包括 TCP、UDP 和 TLS。使用的 SIP 服务器同时支持“基本”和“摘要”身份验证。如果是“基本”身份验证,则传输协议必须是 TLS(出于安全考虑)。

  创建好友列表和观察程序对象

  注册配置文件并启用出席信息后,向好友列表添加新用户将非常简单。使用 IRTCClientPresence &&接口(提供启用出席的方法)、添加好友、删除好友、枚举观察程序、设置本地出席状态、确定应用程序处理新观察程序中订阅的方法以及设置隐私模式。本示例代码未演示如何实现隐私模式,但值得注意的是,通过该功能用户可以创建一个允许呼叫的用户的离散列表。


// 获取 RTC 客户端出席信息&&接口

IRTCClientPresence * pPresence = NULL;

hr = m_pClient->QueryInterface(
IID_IRTCClientPresence,
(void **)&pPresence);

if (FAILED(hr))
{
// QueryInterface 失败
char szBuf[256];

wsprintf (szBuf, "Failed to Query Presence InterfaceErr = 0x%x", hr );
MessageBox ( szBuf );
return hr;
}

// 添加好友
IRTCBuddy * pBuddy = NULL;

hr = pPresence->AddBuddy(
bstrURI,
bstrName,
NULL,
VARIANT_TRUE,
NULL,
0,
&pBuddy);

SAFE_RELEASE(pPresence);

if (FAILED(hr))
{
// Addbuddy 失败
SAFE_RELEASE(pBuddy);
char szBuf[256];

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

wsprintf (szBuf, "Failed to Add Buddy to List.Err = 0x%x", hr );
MessageBox ( szBuf );
return hr;
}

// 更新好友列表条目
UpdateBuddyList(pBuddy);
SAFE_RELEASE(pBuddy);
 


  如果成功创建了新的好友,AddBuddy() 方法将返回一个&&keyword=%D6%B8%D5%EB&Submit=+%CB%D1%CB%F7+"指针,该&&keyword=%D6%B8%D5%EB&Submit=+%CB%D1%CB%F7+"指针指向新创建的好友列表中的 IRTCBuddy &&接口。使用 IRTCBuddy &&接口,客户端应用程序可以获取好友的出席 URI、好友名称、好友状态、永久类型以及与好友出席相关的私人数据。

  取消注册和禁用配置文件

  调用 IRTCClientProvisioning::DisableProfile() 方法取消注册 SIP 服务器中的用户。在调用 DisableProfile() 方法后,请务必释放配置文件对象。

  优化性能

  在基于 Pentium 4 处理器的系统中,后台任务要占用大量的资源。但是,应用程序的响应性能主要受其体系结构的影响。要解决此问题,需要创建一些线程,让它们并行并为其他需要立即关注的活动提供服务。在带有超线程技术和 Windows XP Service Pack 1 (SP1) 的 Pentium 4 处理器上运行多线程应用程序,能够大大改善应用程序的响应性能,并使应用程序能够更有效地执行多个任务。

  Windows XP SP1 将带有超线程技术的 Pentium 4 处理器看作两个逻辑处理器,因而与单个逻辑 CPU 相比,Windows XP 可以承担两倍的工作。

微软实时通信API多客户端通信实战(3)
图 4:使用超线程技术(左)和未使用超线程技术(右)运行的示例用户界面

  图 4 说明了后台运行磁盘清理实用程序时,使用和不使用超线程技术的 Pentium 4 处理器的 CPU 使用情况对比。

  小结

  通过实时通信 (RTC) API,可以生成全功能的会议和协作工具,不管是从计算机到计算机、从计算机到电话还是从电话到电话的通信。在本文中,我们进一步扩展到包括出席信息和好友列表功能,以创建社区和跟踪人员的可用性。结合大量的 RTC API 和 Microsoft 实时通信服务器,您可以生成复杂、有效的协作通信工具,此工具能够增加跨站点团队的工作效率。

  使用 RTC API 开发并运行在 Pentium 4 处理器(带有超线程技术和 Windows XP SP1)中的通信应用程序,在同时执行多项任务时可以实现较高的通信速度和改善的响应性能。

来源:https://www.tulaoshi.com/n/20160219/1602664.html

延伸阅读
标签: ASP
  这个比较长,只要将下列代码加入<body</body之间就行: <form Name="InputForm" <div align="center"<center<p<script language="JavaScript" var FirstForm; function StartSearch() { document.forms[FirstForm+document.InputForm.SearchSelect. selectedIndex].elements[0].val...
Outlook客户端设置范例 如果您使用Outlook客户端收发邮件,请参照以下流程进行设置(以Outlook2007为例): 第一步:添加新的电子邮件账户 点击工具菜单,选择帐户设置,帐户设置页面如下图所示,在帐户设置页面点击新建添加新的电子邮件帐户: 在添加新的电子邮件帐户的第一个页面选择电子邮件服务器类型:Microsoft Ex...
如何登录易改客户端 输入您的用户名和密码,点击登录按钮即可开始使用易改。 易改会自动帮您保存用户名,勾选记住密码可以保存您的密码;勾选自动登录则自动勾选记住密码,下次启动易改时自动登录。 为了您的帐号安全,我们不建议您在公共电脑上勾选记住密码和自动登录。
如何登录彩云Web客户端?   彩云目前支持账号登录、短信登录两种方式。短信登录方式仅支持移动号码使用。
淘宝客户端换铃声方法   手贱把手机淘宝升级到了最新版哆啦A梦特别版,一切都看起来萌萌哒,但是消息铃声却变成了叮当猫铃声,手机淘宝哆啦A梦铃声怎么取消?本文小编就为大家带来淘宝客户端换铃声方法。 手机淘宝叮当猫铃声怎么取消 淘宝客户端换铃声方法 1、进入到手机淘宝中的我的淘宝并打开右上方的设置   ...

经验教程

707

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部