龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

微软实时通信API多客户端通信实战(1)[图]

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
摘要:在前一篇文章《Microsoft实时通信API入门》中,我们介绍了使用实时通信 (RTC) 客户端 API 将某些功能(例如音频/视频会议、即时消息和应用程序共享)集成到应用程序中是多么简单

摘要:在前一篇文章《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 层接收&&事件通知。这些&&事件掩码是第一个示例应用程序中设置的&&事件掩码的补充。

#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 );

精彩图集

赞助商链接