- 1、本文档共23页,可阅读全部内容。
- 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的局域网聊天室
摘 要
随着计算机科学和Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与E-mail、电话相比, 聊天服务更具有实时性和有效性。主要研究了在TCP/IP协议下局域网聊天室。
此局域网聊天采用客户端/服务器(C/S)模式和TCP连接。它有两个组成:服务器和客户端服务器模块主要用来维护网络上所有用户的信息,如用户名聊天客户端模块主要包括用户登录、发送信息、接收信息等整个工程采用结构化的方式进行编译,逐步完善系统功能。
系统采用CSocket实现连网功能。CSocket是MFC在CAsyncSocket基础上派生的一个同步阻塞Socket的封装类。而Socket是Windows中得到广泛应用的、开放的、支持多协议的网络编程接口。
该聊天室是一套适用于Internet网络使用的网络聊天,其操作简单,灵活性好,运行也比较稳定。
VC++;套接字;传输控制协议;网络; 绪论
在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于VC++网络编程的强大功能,本次毕业设计使用VC++编写一个聊天系统。
聊天采用客户端/服务器(C/S)模式和TCP连接。它有两个程序组成:服务器和客户端,首先需要登录服务器,需要指定服务器地址和端口号,同时设置一个网名,与服务器建立连接,如果所取网名已经被其他已经登录的客户端使用,服务器会告诉客户端 ,要求重新登录。登录后,客户端各用户可以发送文字信息,相互聊天。服务器模块主要用来维护网络上所有用户的信息,如用户名;聊天客户端模块主要包括用户登录、发送信息、接收信息等整个工程采用结构化的方式进行编译,逐步完善系统功能。
图2 MSN服务器-客户端模型
。
3 开发环境及编程语言介绍
3.1 Visual C++可视化集成开发环境
VC6.0是微软推出的一款可视化编程工具,适用面非常广泛。VC6.0包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。使用,可以完成创建、调试、修改应用程序等的各种操作。采用标准的多窗口Windows用户界面,并增加了一些新特性,使得开发环境更易于使用,用户很容易学会它的使用方法。
由于是一个可视化的开发工具,在介绍的各个组成部分之前,首先了解一下可视化编程的概念。可视化技术是当前发展迅速并引人注目的技术之一,它的特点是把原来抽象的数字、表格、功能逻辑等用直观的图形、图象的形式表现出来。可视化编程是它的重要应用之一。所谓可视化编程,就是指:在软件开发过程中,用直观的具有一定含义的图标按钮、图形化的对象取代原来手工的抽象的编辑、运行、浏览操作,软件开发过程表现为鼠标点击按钮和拖放图形化的对象以及指定对象的属性、行为的过程。这种可视化的编程方法易学易用,而且大大提高了工作效率。
套接字是从英文单词 socket翻译过来的, ( Socket在英文中是插座的意思,在这里设计者实际上是暗指电话插座。因为在 Socket环境下编程很像是打电话的模拟,Internet的 IP地址就是电话号码,要打电话,首先要有个电话插座,在程序中就是向系统申请一个 Socket,以后两台机器上的程序“交谈”都是通过这个 Socket来进行的。对程序员来说,也可以把Socket看成一个文件指针,只要向指针所指的文件读写数据,就可以实现双向通讯。它是网络通信的基本构件。套接字是可以被命名和寻址的通信端点,是网络互连终点。换句话说,网络互连是两个计算机或处理器通过网络相互传输数据。网络专业人员将每个网络会话的末端称做终点。若通过套接字接口进行网络互连,则程序在每个网络互连的末端都需要一个套接字,套接字接口相当于文件系统,可以使用 API通过网络软件申请一个可以指定特定套接字的句柄来定义套接字的特性。当然 ,套接字句柄和文件句柄是不同的,文件句柄指向一个特定的文件和设备,而套接字句柄并不代表一个特定的终点或目标地址。基于套接字的程序先创建一个套接字,然后再将套接字和目标终点连接起来。底层的套接字函数是 WinInetAPI的一部分,但使用MFC的 CSocket类,它封装了这些套接字函数。CSocket类实际上来源于 CAsyncSocket类,但该类编程比较复杂,需要编写底层函数来进行通信操作,而 CSocket为底层函数提供了一个更抽象的封装,替编程者执行对底层函数的操作,简化了Socket编程。CSocket类提供了一个高级的 Socket支持,运用了 MFC的序列化类来提供和传输 Socket对象。利用 Socket进行通讯,有两种主要的方式。一种叫流方式 ( StreamSocket)也称面向连接方式。在这种方式下,两个通讯的应
文档评论(0)