- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
聊天程序设计
第一章课程设计目的和要求课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,不进能够锻炼学生的分析解决实际问题的能力、提高学生适应实际环境的实践编程的能力,也能培养学生独立、探索的能力,同时也是对嘘声所学理论知识和基本技能的全面考核。C语言课程设计是一门实践性非常强的课程,不但要注重c语言程序设计基本知识的学习,更要注重程序设计技能的培养,使学生能够允许渐进地把握c语言程序设计的技能。通过课程设计,培养学生阅读和编写程序的能力,培养计算机程序设计的能力和素质,以及思维方法。初步积累编程经验,打下良好的计算机应用基础。1.1 目的通过c语言的课程设计,使学生初步掌握c程序设计中的各个步骤,如涉及方案的确定、程序设计、软件编程、以及培养使用技术资料,编写涉及说明书的能力,提高学生编程的综合能力及上机调试水平。1.2 基本要求1.掌握文件以及设计文件系统、文件指针的概念。2.学会运用文件打开、关闭、读写等文件操作。3.掌握用c语言图形函数设计一些简单的图形。4.对c语言的基本知识以及数组、指针、结构体知识进行综合应用。第二章课程设计任务内容此课程设计的任务内容是编写一个聊天小程序,使用图形用户界面,能实现一个聊天室中多人聊天和私聊。2.1 背景如今是计算机和互联网络的时代,“网络”已经成为大家耳熟能详的词语,各种基于网络的娱乐服务、信息服务已经遍地开花,像OICQ等网络聊天软件已经甚至成为一种文化的象征。但是从技术的角度上讲,互联网络的体系结构仍然是基于20世纪七八十年代就已经产生并逐渐成熟的TCP/IP协议族(又称IPv4协议族),虽然现在的一种新的IPv6协议正在蓬勃发展,有望全面取代IPv4,但是IPv4在近30年的发展中,已经形成了庞大的市场,大量成熟的商业软件、硬件产品都基于IPv4,在可以预见的10年之内,IPv4大概是不会退出历史的舞台的,而且现在IPv6还没有成熟的编程接口,仍然需要IPv4的编程接口上编写网络程序。2.2内容及任务局域网即时聊天通过进行文本聊天来实现彼此沟通、交流信息。本次局域网即时聊天程序设计主要用了Visual C++编程环境,实现了在LAN中在线用户的文本、语音交互。在设计里涉及到了网络通信基本原理和Socket编程技。由于程序是在TCP/IP环境下运行,所以分服务器端和客户端。服务器端和客户端是通过建立Socket链接来实现聊天功能。本次设计主要着重于文本聊天部分,在同一个局域网内的不同主机可以互相聊天,而且聊天的人数不限。第三章详细设计说明3.1 编程思路3.1.1简介计算机网络有两个典型的参考模型,一个是TCP/IP,另一个是OSI,这两个都是分层结构,由于各种原因,现在TCP/IP已经成为工业标准,这里不再讨论OSI的内容,只介绍TCP/IP参考模型。需要说明的是,TCP和IP分别为这个分层参考模型中的两层的名字,也分别是一种协议的名字,而IP还有“网络地址”的含义,这些分别取决于它们出现的上下文,平时所说的TCP/IP协议实际上指的是以这两个协议为核心的整个网络体系结构。3.1.2 TCP/IP分层TCP/IP分为5层,这5层从高到低分别是:应用层(Application Layer):提供各种Internet 管理和应用服务功能。运输层(Transport Layer):提供端到端的数据传送服务,由TCP协议和UDP协议组成,这一层又经常叫做TCP层,但是UDP和TCP的地位是相同的。网络层 (Network Layer):又叫IP层,控制IP包的传送。数据链路层(Data Link Layer):在有差错的物理线路上提供无差错的数据传输。物理层(Physical Layer):在物理线路上传输原始的二进制数据位。设计一般的网络程序时,程序员只需要用到应用层和传输之间的接口,对于比较底层的程序,可能会用到传输层和网络层之间的接口,一般来说,很少有必要在更低的层次上编程了。TCP和UDP留给程序员的接口是套接字(socket),程序员通过套接字来使用TCP和UDP服务实现网络通信。TCP的使用方式和UDP有所不同,相比之下,TCP的使用比较复杂,涉及到监听、请求连接、接受连接等比较多的语义,并且不能广播,因此适合Client/Server(客户端/服务器)模式的网络服务,如FTP等,而这里的聊天程序采用的是各台主机地位完全平等的模式,因此使用UDP协议。3.1.3 UDP通信过程MFC使用 CSocket 封装了socket以及相关的一组操作,程序将通过CSocket使用UDP服务。具体使用UDP进行通信的过程如下:⑴ 建立一个UDP类型的CSocket实例。⑵ 设置socket属性,允许socket进行广播。⑶ 将socket和IP以及端口
文档评论(0)