基于VC的局域网聊天室2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VC的局域网聊天室2

摘 要 随着计算机科学和Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与E-mail、电话相比, 聊天服务更具有实时性和有效性。本项目采用软件工程的方法,综合运用程序设计技术、网络技术,以Visual C++ 6.0作为系统前台应用程序开发工具,主要研究了在TCP/IP协议下的局域网聊天室。 此局域网聊天室采用客户端/服务器(C/S)模式和TCP连接。它有两个模块组成:服务器和客户端。服务器模块主要用来维护网络上所有用户的信息,如用户名;聊天客户端模块主要包括用户登录、发送信息、接收信息等。整个工程采用结构化的方式进行编译,逐步完善系统功能。 系统采用CSocket实现连网功能。CSocket是MFC在CAsyncSocket基础上派生的一个同步阻塞Socket的封装类。而Socket是Windows中得到广泛应用的、开放的、支持多协议的网络编程接口。 该聊天室是一套适用于Internet网络使用的网络聊天室,其操作简单,灵活性好,运行也比较稳定。 关键词:VC++;套接字;传输控制协议;网络; 绪论 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于VC++网络编程的强大功能,本次毕业设计使用VC++编写一个聊天系统。 本系统建立在VC平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过CSocket传送消息[1]。使用VC++语言编写,开发工具采用VC6.0[2]。 本课题主要研究的是局域网聊天室,该聊天室采用客户端/服务器(C/S)模式和TCP连接,能实现用户在客户端与服务器间传递文字信息。它有两个程序组成:服务器和客户端,首先需要登录服务器,需要指定服务器地址和端口号,同时设置一个网名,与服务器建立连接,如果所取网名已经被其他已经登录的客户端使用,服务器会告诉客户端 ,要求重新登录。登录后,客户端各用户可以发送文字信息,相互聊天。服务器模块主要用来维护网络上所有用户的信息,如用户名;聊天客户端模块主要包括用户登录、发送信息、接收信息等。整个工程采用结构化的方式进行编译,逐步完善系统功能。 研究本课题需要熟练掌握VC++语言,并且熟悉VC平台的操作,利用socket编程技术、TCP协议进行局域网聊天软件的实际开发。选择TCP协议而不选UDP是为了保证信息的可靠性,不同于UDP协议,TCP要求在获得可靠连接后才发送消息。 图2 MSN服务器-客户端模型 。 3 开发环境及编程语言介绍 3.1 Visual C++可视化集成开发环境 VC6.0是微软推出的一款可视化编程工具,适用面非常广泛。VC6.0包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。使用VC6.0,可以完成创建、调试、修改应用程序等的各种操作。 VC6.0采用标准的多窗口Windows用户界面,并增加了一些新特性,使得开发环境更易于使用,用户很容易学会它的使用方法。 由于VC6.0是一个可视化的开发工具,在介绍VC6.0的各个组成部分之前,首先了解一下可视化编程的概念。可视化技术是当前发展迅速并引人注目的技术之一,它的特点是把原来抽象的数字、表格、功能逻辑等用直观的图形、图象的形式表现出来[5]。可视化编程是它的重要应用之一。所谓可视化编程,就是指:在软件开发过程中,用直观的具有一定含义的图标按钮、图形化的对象取代原来手工的抽象的编辑、运行、浏览操作,软件开发过程表现为鼠标点击按钮和拖放图形化的对象以及指定对象的属性、行为的过程。这种可视化的编程方法易学易用,而且大大提高了工作效率[6]。 3.2 网络编程 80年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大Berkeley分校提供了资金,让他们在UNIX操作系统下实现TCP/IP协议。在这个项目中研究人员为TCP/IP网络通信开发了一个API(应用程序接口)。这个API称为Socket接口(套接字)。今天,SOCKET接口是TCP/IP网络最为通用的API,也是INTERNET上进行应用开发最为通用的API。 套接字是从英文单词 socket翻译过来的, ( Socket在英文中是插座的意思,在这里设计者实际上是暗指电话插座。因为在 Socket环境下编程很像是打电话的模拟,Internet的 IP地址就是电话号码,要打电话,首先要有个电话插座,在程序中就是向系统申请一个 Socket,以后两台机器上的程序“交谈”都是通过这个 Socket来进行的。对程序员来说,也可以把Socket看成一个文件指针,只要向指针所指的文件读写数据,就可

文档评论(0)

weixin98 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档