网络编程课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11课程设计说明书课程名称:Windows网络编程设计题目:基于JAVA网络聊天室设计学院:计算机科学与信息工程学院专业班级:网络工程12级指导教师:小组成员:2015年6月目录摘要...........................................................................................................................................................1引言:.......................................................................................................................................................11.需求分析................................................................................................................................................11.1需求分析.............................................................................................................................................11.2系统简介.........................................................................................................................................22.系统开发技术......................................................................................................................................2122.1JAVA网络编程技术.......................................................................................................................22.2Socket套接字...............................................................................................................................32.3TCP三次握手.................................................................................................................................33.系统总框图与功能分析......................................................................................................................43.1系统总框图.....................................................................................................................................43.2系统功能模块分析.........................................................................................................................54.系统模块代码设计与分析..................................................................................................................64.1系统流程分析.................................................................................................................................64.2类的设计与分析.............................................................................................................................74.3客户端模块部分代码.....................................................................................................................74.4服务器端模块部分代码:.............................................................................................................95.系统测试..............................................................................................................................................116.总结...................................................................................................................................................137.成员分工..............................................................................................................................................13参考文献:..............................................................................................................................................1411网络聊天室摘要:随着我国经济发展和网络的普及,网络技术也越来越多地被应用于日常工作之中。在程序设计领域,面向对象的编程技术正在逐步代替面向过程的程序设计技术,成为计算机应用设计开发的主流,对于人与人之间通过网络的沟通和交流,聊天室是人们最常见、最直接的交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型应用。本文所介绍的网络聊天系统是基于JAVA应用程序开发设计的,其主要特性是简单、面向对象、分布式、解释执行、安全、体系结构中立、可移植、高性能、多线程以及动态性。关键词:局域网、聊天室、JAVA、Socket、WindowsSocket引言:目前,基于TCP/IP协议的网络得到了普及和飞速的发展,Windows下的网络程序越来越显得重要。利用TCP/IP协议提供的编程接口———Socket(套接字)可以开发出TCP/IP应用程序。正确的使用WindowsSocket,就可使得不同地址下的进程得以在Windows环境下顺利进行各种网络通信,因此研究WinSock更有意义。而基于TCP/IP协议网络环境下的应用程序是通过客户机/服务器(C/S)作用方式模式在网络(应用)编程界面实现的。本次实验采用java语言设计一个基于C/S模式的TCP网络通讯程序。实现客户端与服务器端之间的数据传输。1.需求分析1.1需求分析根据当前网络的需求,网络聊天越来越受到各种网民所青睐。因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时可以留着访客,更重要的是让访客透过聊天室实时的互相交流。而小组成员也都学习过JAVA语言,对网络编程也较有兴趣,为了更好的考验自己对JAVA语言的掌握程度,小组成12员一致决定以《基于JAVA的网络聊天室》为课程设计,希望通过这一次能进一步提高我们的网络开发编程的能力。1.2系统简介聊天系统不外乎两个方面,服务器端和客户端。这里简要分析一下两个方面所要完成的任务:服务器端的任务:1、服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接。2、服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。客户端的任务:1、与服务器端建立通信通道,向服务器端发送信息。2、接收来自服务器的信息。2.系统开发技术2.1JAVA网络编程技术JAVA丰富的类库提供了大量的类以满足网络化、多线程、面向对象系统的需要。语言包提供的支持包括字符串处理、多线程处理、数学函数处理等,可以用它简单地实现JAVA程序的运行平台。实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。输入输出包用统一的流模型来实现所有格式的I/O,包括文件系统、网络、输入低级网络包用于实现Socket编程。抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得JAVA可以移植到不同平台的机器。网络包支持Internet的TCP/IP协议,提供了与Internet的接口。它支持URL连接,的即时访问,并且简化了用户/服务器模型的程序设计。132.2Socket套接字Socket,简称套接字,用于实现网络上客户和服务器之间的连接。具体的说:一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写Socket来通知服务器,以读Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。服务器也通过它的本地端口连接一个Socket,通过读写和客户端通信。Socket程序的工作过程:1.建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接道。2.数据通信:利用虚拟连接通道传送数据信息进行通信。3.关闭:通信结束时,再将所建的虚拟连接拆除。具体如下:图1Socket套接字的建立与连接2.3TCP三次握手第一次握手:原主机发送一个带有本次连接的序号的请求的一个数据帧1服务器serversocket2监听4.连接5读6写7关闭3客户端socket6读5写7关闭14第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。第三此握手:源端机收到含有两次初始序列号的应答后,再向目的主机发送一个带有两次连接的序列号的确认。3.系统总框图与功能分析3.1系统总框图图2聊天系统框架

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功