- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC的网络聊天系统设计与实现
计算机与信息工程学院
《Windows程序
指导教师
2012年5月30日
目录
1 绪论 1
1.1 系统的研究背景 1
1.2 系统的研究目标 1
1.3 本文的主要结构 1
2系统开发工具以及相关介绍 2
2.1 MFC 技术 2
2.2 Winsock概述 2
3 系统分析 3
3.1 功能描述 3
3.1.1 服务器 3
3.1.2 客户端 3
3.2 非功能描述 4
4 系统设计 4
4.1 系统关键技术 4
4.1.1 Windows Socket 网络编程接口 4
4.2 系统设计 4
5 系统实现 5
5.1 开发平台 5
5.1.1 开发环境 5
5.1.2 运行环境 6
5.2 技术实现 6
5.2.1服务器端 6
5.2.1客户端 7
5.3 运行结果 8
5.3.1 服务器界面 8
5.3.1 客户端界面 9
结论 10
参考文献 10
1 绪论
1.1 系统的研究背景
当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础设施”。在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。一个简单的聊天室, 从程序员的观点来看就是在多个I/O端点之间实现多对多的通信。基于SOCKET的网络通信是一种灵活的、易于实现的、低成本的方法。它可以运行在各种使用TCP/IP协议作为通讯协议的网络上。而在SOCKET API的帮助下,开发基于SOCKET的网络通信软件也是易于实现的。
1.2 系统的研究目标
本文讨论一种基于Socket的网络聊天软件的设计与具体实现方法。基于Socket的网络聊天软件可以为网络内用户提供一种快捷,良好,方便的通信方式,网络内的全部机子可以通过一个服务器建立的聊天室进行聊天。对于它的实现,用户不需对原有的网络硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地提高网络的使用效率,可以很好地解决用户内部网络的即时通信需求。主要分为两部分:服务器端和客户端。服务器端用于提供一个网络端口,等待客户端发出请求,登录到此服务端,然后进行网络通讯和消息的转发;客户端可通过服务器端的IP地址发送连接请求,然后登陆聊天室。
先启动服务器端聊天程序,这是聊天服务器需要指定一个端口号,客户端则根据这个端口号以及服务器的地址与服务器进行通信,服务器启动后将在这个指定的端口号中等待客户的连接。通过分析发现,该程序完全可以通过Visual C++中MFC完成[1]。MFC作为与VC++血肉相连的部分MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的indows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。Windows Sockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets实现都支持流套接口和数据报套接口.应用程序调用Windows Sockets的API实现相互之间的通讯[]。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如图
图1 socket通信示意图
TCP/IP 是供已连接因特网的计算机进行通信的通信协议TCP/IP是一个两层的程序。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。网络上的网关计算机根据信息的地址来进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。TCP/IP使用客户端/服务器模式进行通信服务器端通过socket()系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行侦听listen()。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了[]。[4]。
要随时准备好接受来自服务器的信息,随时把接受到的信息显
文档评论(0)