文档介绍:.页眉. .页脚. 基于 socket 的聊天程序设计与实现学生姓名:XXXXXXXX 指导老师:XXXXXXXXXXXX 摘要本设计在 WINDOWS 平台上,以C 语言为编程语言, 实现局域网内的即时通信工功能即聊天的功能。本设计是基于 Windows Socket 的编程,分别在同一局域网内的两台 PC机的 VC++ 平台上运行服务端和客户端程序。服务器与客户端在Windows7 环境下采用了TCP/I P连接方式,由客户端登录到服务端PC机,实现客户端与服务端 PC的信息传输。关键词 socket ;C语言;TCP/IP ;程序设计; VC++ 1引言近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。这些在企业内部原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为企业发展的瓶颈。为了解决上述矛盾,人们提出了许多方法。提升网络带宽及增加服务器的吞吐能力是解决此矛盾的一种方法。然而,从企业运行的成本方面考虑,无论是单纯地提升网络带宽或增加服务器的吞吐能力都不能从根本上解决局域网资源紧张的问题,对旧有局域网的大规模硬件改造反而会增加企业的负担。基于 Socket 的局域网通信软件可以为企业原有的局域网提供一种良好,. .页脚. 全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。基于 Socket 的局域网聊天工具是此类局域网通信软件的具体实例之一,它很好地诠释了 Socket 通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。基于 Socket 的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。 课程设计目的了解基于 socket 的程序设计方法, 增强程序编写能力, 加深对计算机网络通信的理解。另外,通过课程设计培养学生严谨的科学态度,认真的工作作风、团队协作精神、自主设计和独力思考的能力。使同学们学会文献检索的基本方法和综合运用文献的能力。 设计平台网络:局域网。操作系统: Windows 7。 VC++ 简介:VC++ 是Microsoft 公司推出的一个基于 Windows 系统平台、可视化的集成开发环境,它的源程序按 C++ 语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class) 类库。 MFC 中封装了大部分 Windows API 函数和 Windows 控件,它包含的功能涉及到整个 Windows 操作系统。MFC 不仅给用户提供了 Windows 图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准 Windows 应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。另外,. .页脚. 大量的代码,指导用户编程时实现某些技术和功能。因此,使用 VC++ 提供的高度可视化的应用程序开发工具和 MFC 类库,可使应用程序开发变得简单。 2 设计原理程序采用 Windows Socket 编程,利用 MFC 类库中,对 Windows Socket API 进行了封装的 CAsyncSocket 类及其子类 CSocket 中提供的成员函数,完成网络的连接以及对字符消息的传送。 win32 编程原理所谓的 Win32 开发,就是在 C 语言的层面上,直接使用 Win32 API 开发 Windows 应用程序或者系统程序。虽说现在直接用 Win32 API 开发应用程序的人已经不多了,但是深入理解 Windows 系统程序设计原理,仍然是成为 Window s 开发高手的良好途径。所谓的 Win32 ,其实是一个 API 规范,与 UNIX 系统编程接口标准 POSIX 是相对应的。下面是进行直接的 WIN32 SDK 方式编程的基本思路或者说是一个框架: 一个 WINDOW