下面是个简单易学的微软实时通信API多客户端通信实战(1)教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!
【 tulaoshi.com - 编程语言 】
摘要:在前一篇文章《Microsoft实时通信API入门》中,我们介绍了使用实时通信 (RTC) 客户端 API 将某些功能(例如音频/视频会议、即时消息和应用程序共享)集成到应用程序中是多么简单直接。
本文将介绍使用 RTC 客户端API 添加出席信息、配置文件和好友列表等功能来创建社区的简单性。您将学习使用Windows XP 应用程序来实现此功能的步骤。
您需要安装:
Visual Studio 6.0 SP5
Microsoft Platform SDK
SIP Server 或 Windows .NET Server Beta 3
会话启动协议服务器
要将出席信息、配置文件和好友列表集成到应用程序中,需要使用 SIP 服务器或 Windows .NET Server Beta 3。需要出席信息(例如启用好友列表功能)时,要求使用 SIP 注册服务器。用户可以在服务器上注册其出席信息,并通过此服务检索其他人的出席信息。
服务器使用会话启动协议(SIP)及其相关协议 SIMPLE 作为底层通信协议。SIP 为多模式通信提供了出色的支持。SIP 和 SIMPLE 不仅是文本消息共享协议,而且可以管理声音、视频、应用程序共享等。
会话启动协议
SIP 协议用于在 IP 网络中启动会话并注册出席信息。会话可以是 PC 到 PC 的简单双向通信,也可以是协作的多媒体会议会话。SIP 是一种 Internet 工程任务组 (IETF) 信号处理协议,用于建立、操作和销毁会话。SIP 的主要用途是帮助会话启动者向各地可能的会话参加者发出邀请。SIP 被描述为“简单、可扩展”的 IP 电话信号处理协议。
初始化出席信息和好友列表通知
要接收出席信息、好友列表和配置文件的新&&事件通知,请设置以下&&事件过滤器掩码,以便应用程序从 RTC 层接收&&事件通知。这些&&事件掩码是第一个示例应用程序中设置的&&事件掩码的补充。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)#define RTCEF_REGISTRATION_STATE_CHANGE 0x00000002
#define RTCEF_BUDDY 0x00000100
#define RTCEF_WATCHER 0x00000200
#define RTCEF_PROFILE 0x00000400
注册所有&&事件的一种简单方法是使用 RTCEF_ALL 宏通知 RTC 层向应用程序发送所有&&事件。
long lEventMask = RTCEF_ALL;
处理 RTC &&事件
以下代码段显示了使用用户配置文件注册到 SIP 服务器、发送和接收出席信息和好友列表&&事件时需要处理的其他&&事件。接收到每个&&事件后,&&事件过滤器方法将使用适当的 RTC &&接口处理收到的&&事件。
HRESULT CAVDConfDlg::OnRTCEvent(UINT message, WPARAM wParam, LPARAM lParam)
{
IDispatch * pDisp = (IDispatch *)lParam;
RTC_EVENT enEvent = (RTC_EVENT)wParam;
HRESULT hr;
// 基于 RTC_EVENT 类型,查询
// 适当的&&事件&&接口并调用辅助
// 方法来处理&&事件
switch ( wParam )
{
... .
case RTCE_REGISTRATION_STATE_CHANGE:
{
IRTCRegistrationStateChangeEvent * pEvent = NULL;
// 获取与当前会话关联的&&事件句柄。
hr = pDisp->QueryInterface( IID_IRTCSessionStateChangeEvent,
(void **)&pEvent );
if (SUCCEEDED(hr))
{
OnRTCSessionStateChangeEvent(pEvent);
SAFE_RELEASE(pEvent);
}
}
break;
case RTCE_BUDDY:
{
IRTCBuddyEvent * pEvent = NULL;
hr = pDisp->QueryInterface( IID_IRTCBuddyEvent,
(void **)&pEvent );
if (SUCCEEDED(hr))
{
OnRTCBuddyEvent(pEvent);
SAFE_RELEASE(pEvent);
}
}
break;
case RTCE_WATCHER:
{
IRTCWatcherEvent * pEvent = NULL;
hr = pDisp->QueryInterface( IID_IRTCWatcherEvent,
(void **)&pEvent );
if (SUCCEEDED(hr))
{
OnRTCWatcherEvent(pEvent);
SAFE_RELEASE(pEvent);
} }
break;
}
... .
}
启用和检测出席信息
使用出席信息服务,用户可以跟踪联系人的出席状态、将此状态通知给联系人、通过注册服务器(维护联系人的当前位置信息)调用好友。位置可以是计算机或电话,将来还可以是移动电话、寻呼机或手持设备。
下图显示了在 SIP 服务器中注册客户端并启用出席信息服务的高级步骤。
图 2:启用配置文件和出席信息服务的步骤
来源:http://www.tulaoshi.com/n/20160219/1602678.html
看过《微软实时通信API多客户端通信实战(1)》的人还看了以下文章 更多>>