ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:102.81KB ,
资源ID:3255502      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3255502.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于VC的网络聊天系统研究设计与实现.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于VC的网络聊天系统研究设计与实现.docx

1、基于VC的网络聊天系统研究设计与实现 Windows程序设计工程实践报告 设计题目 基于VC的网络聊天系统设计与实现作者姓名 所学专业名称 指导教师 2012年5月30日1 绪论 11.1 系统的研究背景 11.2 系统的研究目标 11.3 本文的主要结构 12系统开发工具以及相关介绍 22.1 MFC 技术 22.2 Winsock概述 23 系统分析 33.1 功能描述 33.1.1 服务器 33.1.2 客户端 33.2 非功能描述 44 系统设计 44.1 系统关键技术 44.1.1 Windows Socket 网络编程接口 44.2 系统设计 45 系统实现 55.1 开发平台 5

2、5.1.1 开发环境 55.1.2 运行环境 65.2 技术实现 65.2.1服务器端 65.2.1客户端 75.3 运行结果 85.3.1 服务器界面 85.3.1 客户端界面 9结论 10参考文献 101 绪论1.1 系统的研究背景当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础设施”。在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。一个简单的聊天室, 从程序员的观点来看就是在多个I/O端点之间实现多对多的通信。基于SOCKET的网络通信是一种灵活的、易于实现的、低成本的方法。它可以运行在各种使用TCP/

3、IP协议作为通讯协议的网络上。而在SOCKET API的帮助下,开发基于SOCKET的网络通信软件也是易于实现的。1.2 系统的研究目标本文讨论一种基于Socket的网络聊天软件的设计与具体实现方法。基于Socket的网络聊天软件可以为网络内用户提供一种快捷,良好,方便的通信方式,网络内的全部机子可以通过一个服务器建立的聊天室进行聊天。对于它的实现,用户不需对原有的网络硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地提高网络的使用效率,可以很好地解决用户内部网络的即时通信需求。本系统主要分为两部分:服务器端和客户端。服务器端用于提供一个网络端口,等待客户端发出请求,登录到此服务端,然

4、后进行网络通讯和消息的转发;客户端可通过服务器端的IP地址发送连接请求,然后登陆聊天室。先启动服务器端聊天程序,这是聊天服务器需要指定一个端口号,客户端则根据这个端口号以及服务器的IP地址与服务器进行通信,服务器启动后将在这个指定的端口号中等待客户的连接。通过分析发现,该程序完全可以通过Visual C+中MFC完成1。1.3 本文的主要结构本文主要描述了聊天系统开发的总体流程,包括绪论,Winsock概述,系统分析,系统设计,系统实现,结论,参考文献。第一章为绪论,主要描述了系统的研究背景和系统的研究目标。第二章为系统开发工具以及相关介绍,主要描述了MFC技术和winsock。第三章为系统分

5、析,主要介绍系统的功能需求分析和非功能需求分析。第四章为系统设计,Windows Socket 网络编程接口技术,并给出了系统的设计结构。第五章为系统实现,主要介绍了系统的开发平台,技术实现和部分运行结果三部分。结论,总结了系统的设计和实现过程,分析了系统的优点和不足之处,并得出了自己的心得体会。2系统开发工具以及相关介绍2.1 MFC 技术MFC,微软基础类,实际上是微软提供的,用于在C+环境下编写应用程序的一个框架和引擎,VC+是Windows下开发人员使用的专业C+SDK(SDK,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC同VC+集成的VCL一样是一个非外挂式的

6、软件包,类库,只不过MFC类是微软为VC+专配的。MFC作为与VC+血肉相连的部分MFC同BC+集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC+专配的。2.2 Winsock概述Windows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。Windows Sockets规范定义并记录了如何使用A

7、PI与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets实现都支持流套接口和数据报套接口.应用程序调用Windows Sockets的API实现相互之间的通讯2。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如图1所示:图1 socket通信示意图TCP/IP 是供已连接因特网的计算机进行通信的通信协议。TCP/IP是一个两层的程序。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。低层是

8、网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。网络上的网关计算机根据信息的地址来进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。TCP/IP使用客户端/服务器模式进行通信。两个系统间的多重连接是这样确认并协调一致的:原IP地址、目的IP地址、源端口、目的端口。端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。服务进程通常使用一个固定的端口。这些端口号是“广为人知的”,因为在建立与特定主机或服务的连接时,需要这些地址和目的地址进行通讯。在此TCP/IP协议将起着实现聊天室的重要组成之一。3 系统分析3.1 功能描述聊天系统主要由服务器和客户端两

9、个部分组成3.1.1服务器(1)功能描述服务器主要实现的三个功能:服务器聊天程序要在待定的端口上等待来自聊天客户的连接请求,并且需要维护一个客户连接表,以记录所有成功的连接。服务器聊天程序要及时接受从各个聊天客户发送过来的信息,然后把这些信息转发到一个或多个客户连接。服务器要把接受到的信息向除源端外的所有客户发送过去。(2)实现分析服务器端通过socket()系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行侦听listen()。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登

10、录成功的客户就可以在服务器上聊天了。客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了3。3.1.2 客户端(1)功能描述客户端需要完成以下几个功能:1.客户端聊天程序要负责建立和维护与服务器的连接,通过获取用户的设置尝试与服务器的连接,并且随时检测连接的状态。2.客户端聊天程序要把用户输入的信息及时发送到聊天服务器。一般情况下,当用户输入一行信息并且按下回车键后聊天程序就要把这一行信息发送出去,才能及时地满足用户的交互需求4。3.要随时准备好接受来自服务器的信息,随时把接受到的信息显示出来,让用户及时看到对方的响应。在用户退出聊天

11、过程是要关闭与服务器的连接。比较好的做法是提前通知服务器或者直接给服务器发送一条退出通知,使得服务器能够及时掌握客户端的连接状态,把对方客户的退出信息及时发送到对等实体上。(2)实现分析客户端聊天程序需要使用一个通过CSocket类派生出来的connect类来实现。该套接字用来发送一个与服务器的连接请求和维持与服务器的连接,发送和接收聊天信息,完成上述各项功能。3.2 非功能描述聊天系统的非功能性需求如下:(1)系统可靠性方面:对于客户机发送的消息能够快速转发给对方,保证连接不的稳定正常运行,24小时内的掉线时间不超过5分钟(2)系统可用性方面:系统界面要求美观大方,操作简单易行。(3)系统的

12、有效性方面:系统要求能够容纳50个客户端的同时的访问要求,在高峰时期要达到100个以上的访问要求;系统要有一定的并发请求处理;对于服务器要求较高(内存:2G以上、硬盘:160G以上、CPU:双核)在设计和开发系统时要考虑到系统的可扩展性。4 系统设计4.1 系统关键技术4.1.1 Windows Socket 网络编程接口本系统是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。VC+对网络编程的支持有socket支持,在TCP/IP网络通信环境下,S

13、ocket数据传输是一种特殊的I/O,它也相当于一种文件描述符,具有一个类似于打开文件的函数调用-socket()。可以这样理解:Socket实际上是一个通信端点,通过它,用户的Socket程序可以通过网络和其他的Socket应用程序通信5。Socket存在于一个通信域(为描述一般的线程如何通过Socket进行通信而引入的一种抽象概念)里,并且与另一个域的Socket交换数据。Socket有三类,本系统利用的是SOCK_STREAM(流式),提供面向连接的可靠的通信服务。4.2 系统设计通过聊天系统的分析并结合现实情况,可以设计出整个系统的总体流程结构,如图2所示:图2 系统流程图5 系统实现

14、 这部分是系统实现部分,主要包括开发环境及工具、技术实现和运行结果三大部分组成:5.1 开发平台5.1.1 开发环境(1) 动态链接库ws2_32.dllws2_32.dll是Windows Sockets应用程序接口, 用于支持Internet和网络应用程序。程序运行时会自动调用ws2_32.dll文件,ws2_32.dll是个动态链接库文件位于系统文件夹中。Windows在查找动态链接库文件时会先在应用程序当前目录搜索,如果没有找到然后才会搜索Windows所在目录; (2) winpcap 驱动Winpcap是windows平台下一个免费,公共的网络访问系统。是为win32应用程序提供访

15、问网络底层的能力。其主要功能在于独立于主机协议(如TCP/IP)而发送和接收原始数据包6。 (3)开发工具:Visual C+6.0VC是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C+可视化开发环境。VC基于C,C+语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在Windows平台无所不能。5.1.2 运行环境(1)软件环境操作系统:windows2000/XP,Win7(2)硬件环境如表1所示:表1 硬件环境表硬件最低要求推荐CPUIntel Pentium 166MHzP4或以上内存128M512M或以上硬盘300M500M以上5.2 技术实现5.2.1服务器端首先要开启服务器功能,编写相关代码,然后指定开启服务器功能的端口,在程序视图显示提示信息的函数,相关视图可自行创建。创建服务器端Socket,类型为SOCK_STREAM,面向连接的通信,设置相关命令与选定的端口绑定。WSAAsyncSelect将网络中的事件关联到窗口的消息函数中。实现代码如下: m_

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1