第11章_网络多媒体程序设计.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章_网络多媒体程序设计

第十一章 网络多媒体应用程序设计 网络多媒体应用有多种类型,如视频会议、远程教育、远程医疗、VoiceOverIP 、网络 视频监控、网络电视、网络游戏等。无论哪种应用,核心都是多媒体数据的传输。 从应用开发的视角看,套接字(Socket)是各种网络传输的基础。为此,本章主要介绍 基于WinSock 的多媒体传输技术。第一节介绍WinSock 编程的基本模式。第二节介绍一个 基于屏幕捕获与 WinSock 的远程桌面图像传输与显示系统,该系统包括两部分,一是捕获 并发送桌面图像的服务器,另一个是接收并显示远程图像序列的客户端。该示例能够展现多 媒体传输的典型特征。 11.1 WinSock 编程基础 11.1.1 C/S 模型 客户端(Client )与服务器(Server)的概念是WinSock 编程最基本的框架性认知。Server 与Client 的行为模式有所不同,因此,它们的创建方式也存在差别。下面通过介绍创建流式 TCP/IP 服务器与客户端,使读者理解 WinSock 编程的基本方法。  开发Client 的基本操作如下: a. Winsock 初始化 b. 创建一个socket c. 连接server d. 发送或接收数据 e. 断开连接  开发Server 的基本过程如下: a. Winsock 初始化 b. 创建一个socket c. 绑定socket d. 在 socket 上侦听client e. 接收来自client 的连接 f. 接收或发送数据 g. 断开连接 可以看到,开发基于 WinSock 的网络通讯应用程序,必须同时在服务器和客户端两个 方面着手。服务器和客户端的设计方法存在差异,但也有一些完全相同的地方。 11.1.2 客户端设计 读者可以跟着下面给出的指导,在VS2010 环境中练习基本的WinSock 程序设计。前面 一些步骤对服务器、客户端均相同。 首先创建一个新的空工程,并添加一个空的 C++源文件。确保开发环境能够访问 Windows SDK 的库、资源目录和包含目录,在正常安装有Windows SDK 的计算机上,这一 点基本没有问题。此外,还要确保开发环境已经链接了 WinSock 的库文件Ws2_32.lib ,这 可以通过在VS2010 的工程属性、配置属性、链接器、输入操作界面添加Ws2_32.lib 文件, 也可以采取下面给出的示例代码中展示的方式实现链接。下面开始添加代码,首先在第二步 得到的空C++文件中添加如代码11-1 所示的程序片断。 代码11-1 最初的WinSock 程序 _______________________________________________________________________________ # include winsock2.h # include ws2tcpip.h # include stdio.h # pragma comment(lib, Ws2_32.lib) int main() { return 0; } _______________________________________________________________________________ 可以看到,要使用WinSock API,应用程序必须包含winsock2.h ,它含有大部分 WinSock 的函数声明、数据结构和定义。ws2tcpip.h 则给出了与 TCP/IP 协议相关的函数、以及用于 检索地址的数据结构。此外,由于winsock2.h 文件包括了Windows.h 的核心内容,所以, 一般情况下,WinSock 应用程序不需要再包含Windows.h 文件。 接着,初始化WinSock 动态链接库。这是任何准备调用WinSock 函数的应用都必须做 的。为此需要创建一个WSADATA 对象,这里我们将其命名为wsaData ,如代码11-2 所示。 WSADATA 是一个结构体,用于存储WinSock 实现中所需要的信息。 代码11-2 创建一

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档