第24章 网络编程研发实践:即时.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第24章 网络编程研发实践:即时通信软件 即时通信系统是互联网时代常见的网络应用软件,网民的生活也已经离不开即时通信软件,如QQ、MSN等。即时通信软件的开发并不难,仅仅是实现最简单的“发送”和“接收”功能即可,因此,学习即时通信软件,可以方便初学者掌握TCP/IP网络程序设计。 本章的主要内容有: C/S程序设计的系统模型和设计思路。 即时通信软件的开发:读者可以学会C/S模式的即时通信软件的开发,包括服务器端程序设计和客户端程序设计。 24.1 网络编程实例:即时通信系统 IM是英文Instant Messaging的缩写,中文翻译成“即时通信”,是基于互联网协议的应用程序,它能够使应用不同类型设备的用户一对一进行通信。典型的IM是这样工作的:当好友列表(buddy list)中的某人在任何时候登录上线并试图通过用户的计算机联系用户时,IM系统会发一个消息提醒用户,然后用户能与对方建立一个聊天会话并键入消息文字进行交流。IM的出现和互联网有着密不可分的关系,从技术上来说,IM完全基于TCP/IP网络协议族实现,而TCP/IP协议族是整个互联网得以实现的技术基础。IM最传统的形式是聊天,在聊天的同时可以在计算机之间交换短文本消息。聊天服务是互联网提供的重要服务之一。互联网的大多数网站都建有聊天室,并且有专业聊天网站提供服务。1999年2月,腾讯公司自主开发了基于Internet的即时通信网络工具――腾讯即时通信(Tecent Instant Messenger,简称TIM或腾讯QQ),其合理的设计、良好的易用性、强大的功能、稳定高效的系统运行,赢得了用户的青睐。与电子邮件服务相比,聊天服务具有实时性,人们更便于相互沟通、交流思想和信息。 24.1.1 功能需求 即时通信系统的主要功能要实现如下: 服务器的建立,这个是实现聊天的关键,只有建立了聊天服务器,客户才能连接到上面,从而进行聊天过程的实现,服务器建立之后处于监听状态,等待客户机的申请连接。 在服务器建立的时候,选择是何种连接方式,TCP还是UDP,选择的不同,将会采用不同的消息处理机制。同时将确定连接的地址和端口号。 启动客户端,开始尝试对服务器进行连接操作,这里面注意之处就是客户机要选择和服务器一致的连接方式,填入正确的连接地址和端口号。 成功建立连接之后,开始进行对话操作,对应不用的方面,出现的消息也是不同的,这样做的好处就是能够屏蔽他人的信息,而只要求显示对自己有用的信息,一来可以节省程序设计的耗时,二来可以保护聊天室中的隐私。 建立了一个连接之后,其他的客户机也是可以再连接到上面,这样可以进行多用户的信息交互。 聊天结束之后,客户机断开连接也就退出了聊天的过程,信息不再交互,如果是服务器关闭,连接在上面的所有客户机将会断开。 24.1.2 项目系统模型 该项目由两个程序组成: 服务器端应用程序:主要是负责信息转发和存储,以及通信端口和通信用户的管理。 客户机端应用程序:主要是负责提供给非专业技术人员用户,用户通过客户机可以和其他客户机或者服务器进行通信。 24.1.3 系统设计思路 基于客户机/服务器(Client/Server)模式的聊天室设计采取的是监听(侦听)对话模型。基本思路是:服务器启动监听进程,监听连接申请,对于来申请的客户机,或者说申请的ID,服务器进程将会对其进行判别和分类,满足服务器要求就进行连接。系统设计思路可用下图表示: 24.1.4 功能分析和设计难点 即时通信系统IM最传统的形式是聊天,在聊天的同时可以在计算机之间交换短文本消息。聊天服务是互联网提供的重要服务之一与电子邮件服务相比,聊天服务具有实时性,更便于人们相互沟通和交流信息。本设计的主要任务是利用Visual C++6.0这个集成开发环境设计并实现一个基于C/S模型的聊天室。 24.1.5 设计难点的解决方案 一般而言,一个项目的解决方案是多种多样的,容易实现的方案往往功能性缺点比较多,而要想功能完善,人力成本往往又比较高。鉴于本章是学习型的项目开发,选取方案方面尽量直观简单,以达到容易入手的目的。主要模块的解决方案如下: (1)建立通信框架 (2)网络连接类CsocketComm (3)创建服务器Server (4)创建客户机Client (5)UDP协议中多用户聊天的实现 24.2 软件项目开发过程:服务器端应用程序 学习一个基于Windows的网络编程,其主要目的并不是为了做项目而做项目,读者应该将学习的重点转移到理论学习上,即学习开发一个项目,就要学会触类旁通,因为软件项目研发会根据业务流程或软硬件环境的不同而不同,而在纷繁复杂的条件下,核心理论是不变的。 24.2.1 创建一个支持套接字的MFC服务器端程序 创建服务器端程序支持套接字的MFC应用程序

文档评论(0)

word.ppt文档 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档