网络编程课程设计说明书.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《网络编程课程设计说明书.doc》由会员分享,可在线阅读,更多相关《网络编程课程设计说明书.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录摘要1关键词1引言11 系统开发的意义及需求分析11.1课题来源11.2需求分析12.1 IP/TCP协议常识 32.1.1 TCP/IP协议的特点32.1.2 TCP/IP协议数据的传输过程32.1.3端口号32.2 Socket的简介32.2.1 Socket程序的工作过程42.2.2三次握手协议43系统开发和设计方案 53.1开发环境及工具53.2系统总体设计要点53.2.1实现思想53.2.3多用户实时工作原理图63.3系统功能模块划分及设计原理74系统实现与最终效果104.1系统工作的过程104.2 系统使用方法104.3 各功能模块运行效果104.4拓展功能134.5模块测试
2、155成员分工15网络聊天室摘要:在网络飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。互联网上存在大量的信息所以信息交换也显得尤为重要。人们一直在寻找一种方便、低廉的交流信息的工具,因此网上聊天便成为人们的首选。本论文通过VC的Socket实现了一个局域网的聊天室基于VC的聊天室的设计与实现。本聊天室服务器包括显示在线用户、日志管理、聊天信息管理、发送系统信息等功能。客户端包括登录、注册、公聊、私聊传送文本文件等功能。关键词:局域网;聊天室;VC;套接字引言: 随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支
3、持,将会有越来越多的人利用网上资源,享受不断发展和完善的网络服务,以此来提高工作效率和水平。随着我国经济发展和网络的普及,网络技术也越来越多地被应用于日常工作之中。在程序设计领域,面向对象的编程技术正在逐步代替面向过程的程序设计技术,成为计算机应用设计开发的主流,尤其在网络技术开发中,面向对象的VC语言编程和相关的VC技术正在以前所未有的速度发展。网上购物、网上银行、远程教学、网络聊天、网络游戏等都开始使用VC技术。而且VC使平台无关性的思想成为现实,独立的VC程序可以被编译为与平台无关的字节码,这种字节码可以运行在任何拥有VC解释器的机器上。 真正降低了企业成品和程序员的负担。对于人与人之间
4、通过网络的沟通和交流,聊天室是人们最常见、最直接的交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型应用。本文所介绍的网络聊天系统是基于开放的VC应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,有效的处理客户请求且具有脱离数据库技术方法, 易于维护和更新。1系统开发的意义及需求分析1.1课题来源根据当前网络的需求,网络聊天越来越受到各种网民所青睐。因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时可以留着访客,更重要的是让访客透过聊天室实时的互相交流。而本人也学
5、习过VC语言,对网络编程也较有兴趣,为了更好的考验自己对VC语言的掌握程度,本人就决定以基于VC的网络聊天室为毕业设计,希望通过这一次能进一步提高本人的网络开发编程的能力。1.2需求分析聊天系统不外乎两个方面,服务器端和客户端。简单分析一下两个方面所要完成的任务,对设计这个程序来说,等于完成了一半。首先来看一下服务器。服务器端的任务:1、服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接。2、服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。以上就是服务器端最主要的两个任务。不难看出,服务器端的任务并不复杂。客户
6、端应该完成的工作包括:1、与服务器端建立通信通道,向服务器端发送信息。2、接收来自服务器的信息。相对服务器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。2.系统开发技术2.1 IP/TCP协议常识2.1.1 IP、TCP协议的特点:TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议/网际协议的缩写, TCP/IP是当今网络互联的核心协议。TCP/IP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。IP协议的作用:第一,它是网络层的协议,提供互联
7、网上数据传输的统一格式。第二,提供不可靠的无连接的服务。第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的机制。TCP协议的功能:差错控制可靠性、面向连接、分段(Segment)、端口号。TCP是传输控制协议,是面向连接的提供了一种可靠的传输服务,它用三次握手和滑动窗口机制来保证传输的可靠性,及进行流量控制。2.1.2 TCP/IP协议进行传输数据传输的过程:应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP数据包封装在IP包内,通过网络送给目的TCP。接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。在实现TC
8、P的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP 也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络的任务由专门的设备驱动模块完成。TCP只是调用IP接口,向TCP提供所有TCP需要的服务2。2.1.3 端口号:有的时候,一个ip地址不能完整的标识一台服务器,这是因为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是端口。端口实际是一个16位长的地址,他的范围是065535之间,其中01023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都知道的,102465535为一
9、般端口,也称动态端口、连接端口,用来随时分配要求通信的个客户端应用程序。在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要求和他通信的客户端3。2.2 Socket的简介:Socket,简称套接字,用于实现网络上客户和服务器之间的连接。也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。具体的说:一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写Socket来通知服务
10、器,以读Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。服务器也通过它的本地端口连接一个Socket,通过读写和客户端通信8。2.2.1 Socket程序的工作过程:1.建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接道。2.数据通信:利用虚拟连接通道传送数据信息进行通信。3.关闭:通信结束时,再将所建的虚拟连接拆除。具体如下:121服务器serversocket2监听4.连接5读6写7关闭3客户端socket6读5写7关闭图1 Socket程序的工作过程2.2.2 三次握手协议:第一次握手:原主机发送一个
11、带有本次连接的序号的请求的一个数据帧第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。第三此握手:源端机收到含有两次初始序列号的应答后,再向目的主机发送一个带有两次连接的序列号的确认。具体过程如下:4 图2 三次握手协议3.系统分析与设计方案3.1开发环境及工具本系统所用的工具:服务器端:(Windows平台)首先应有Microsoft Visual C+ 6.0客户端:Windows平台 首先应有Microsoft Visual C+ 6.0 本系统运行所需用到的环境为:硬件配置 :中央处理器(CPU) :P4 2.0G以上的处理器;硬 盘
12、:40GB以上硬盘;内 存:256以上的DDR内存;显 卡:128M以上显存显卡软件配置:WINDOWS XP 版本等。3.2聊天系统的总体设计要点3.2.1实现思想15在局域网上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。服务器端工作流程:服务器端通过系统调用创建一个ServerSocket与指定的本地端口绑定,就可以在端口进行侦听。如果有客户端连接请求,则创建一个Socket,将客户端地址赋给这个Socket。然后登录成功的
13、客户就可以在服务器上聊天了。客户端工作流程:客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。3.2.2 系统功能流图:服务器serversocket监听建立与客户端连接的套接字1.读客户端信息2.向客户端转发信息关闭服务器客户端socket1.读服务端信息2向服务器写信息关闭客户端启动AppServer.cpp启动ChatClient.cpp登录注册图3 系统功能流图功能流程说明如下:(1)启动服务器程序,服务器端创建一个ServerSocket对象,指定端口号。(2)ServerSocket对象等候客户端的连接请求。(3)启动
14、客户端程序,登录用户。如果未注册,先注册再登录。登录成功进入聊天室用户界面。(4)客户端创建一个Socket对象,指定主机地址和端口号,向服务器发送连接请求。(5)服务器端收到客户端请求,建立一条TCP连接,再创建一个Socket对象与客户端的Socket对象进行通信。(6)服务器端和客户端分别建立字节输入/输出流,进行数据传输准备。(7)服务器端和客户端通过各自的字节输入流获得对方发送过来的数据,通过字节输出向对方发送数据。(8)一方决定结束通信,向对方发送结素信息,另一方收到结束信息后,双方分别关闭各自的TCP连接。(9)对象停止等候客户端连接请求。3.2.3 多用户实时工作原理图5图4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 课程设计 说明书
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内