java课程设计实践

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

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

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

资源描述

课程设计说明书(论文)课程名称Java程序设计实践题目文字聊天软件设计专业软件工程班级软件1201学号1211030115姓名赵阳起止日期2012.06.24----2012.06.28指导教师王洪亮成绩辽宁石油化工大学计算机与通信工程学院摘要计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。而聊天系统正是当前人们使用最多的中介。在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。因此,开发和构架这种平台符合时代发展的需要。本系统在开发中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流分析,包含了一些基本的软件工程方法。AbstractTherapiddevelopmentofcomputernetworks,manyareasofhumansocietyhadahugeimpact.Inparticular,withtheadventoftheinformationage,moreandmorepeopletendtopassbetweenthenetworkstocommunicateandconveyinformation.Thechatsystemiscurrentlythemostpeopletouseintermediaries.Onthisplatform,alotofpeopleknowordonotknoweachothercanfreelymutualexchange.Therefore,thedevelopmentandarchitectureofthisplatformmeetstheneedsofthetimes.Thesystemusedinthedevelopmentofalocalareanetworkcommunicationmechanismprinciple,throughthedirectsuccessortotheThreadclasstocreatemultiplethreads.Developedacomputernetworkusingbasictheoreticalknowledgeofprogramming,suchasTCP/IPprotocol,theclient/servermode(Client/Servermode)networkprogrammingdesignmethod.Innetworkprogrammingtoreadtheinformation,sending,istheuseoftheexchangeofinformationflowtoachieve,whichdescribestherealizationofasystematicinformationflowanalysis,containssomebasicsoftwareengineeringmethods.目录1设计要求....................................................72设计原理和技术...............................................72.1设计原理与开发工具..............................................................................72.2设计技术.................................................................................................73总体设计....................................................84详细设计及实现...............................................84.1详细设计.................................................................................................84.1.1设计方法......................................................................................84.1.2流程图..........................................................................................94.2实现过程.................................................................................................94.2.1源代码..........................................................................................94.2.2运行截图....................................................................................245结束语.....................................................26参考文献.....................................................27课程设计任务书一、课程设计的内容和要求(包括原始数据、技术参数、设计要求等)设计并实现一个基于TCP协议或者UDP协议的文字聊天软件,是点对点的,通信双方都可以主动发起连接。要求:采用Windows应用程序风格,功能完整,显示直观,色彩协调,界面友好,操作简单。二、对课程设计成果的要求(包括课程设计说明书(或论文)、图纸、实物样品等)课程设计说明书(论文)的“正文”中应包括:设计要求(题目介绍、设计目的、问题陈述)设计原理和技术(基本原理和技术描述,开发工具和开发环境说明)总体设计(功能模块划分和描述)详细设计及实现(各功能模块的实现,主要程序代码及其说明和注释,所实现系统的运行界面截图,遇到的主要问题及解决方法)结束语(课程设计的收获和体会,设计中的不足和可改进的地方)三、主要参考资料谢希仁.计算机网络(第4版).电子工业出版社胡伏湘Java程序设计实用教程(第2版)清华大学出版社编程相关资料电子文档:第11章网络编程.pptJDK_API_1_6_zh_CN.CHM四、课程设计进度计划课程设计内容小计总体设计0.5天详细设计0.5天源程序编写调试4天撰写报告1天总计1周系(教研组)主任审查意见:系主任(签字):年月日指导教师评语:成绩:指导教师(签字):年月日正文1设计要求设计并实现一个基于TCP协议或者UDP协议的文字聊天软件,是点对点的,通信双方都可以主动发起连接。要求:采用Windows应用程序风格,功能完整,显示直观,色彩协调,界面友好,操作简单。2设计原理和技术2.1设计原理与开发工具文字聊天软件设计所用的原理主要是网络编程原理,其中使用到的多线程原理和图形界面原理,所用的开发工具为MyEclipse。2.2设计技术此次使用了基于TCP协议的Socket通讯技术。Socket通信程序的功能基本结包括以下5个基本步骤:①服务器端创建ServerSocket,并调用accept()方法监听。②客户端创建Socket连接服务器。③连接上之后,客户端和服务器端都打开连接到Socket的输入/输出流。④客户端和服务器端利用输入/输出流,按照一定的协议进行读/写操作。⑤客户端和服务器端关闭输入/输出流和Socket。3总体设计通过了解课程设计要求,实现文字聊天功能,并且要把客户端和用户端整合在一个程序里,为保证要求与实现功能方便,将监听和通信功能代码设计在界面类里,简单明了,容易实现。4详细设计及实现4.1详细设计实现课程设计要求,设计时采用了一个模块,将链接、监听、通信功能放在一个类里。4.1.1设计方法类里包括server()函数、client()函数,server()函数创建了一个监听线程,用于监听对方的链接。client()函数也创建了一个线程,链接对方IP地址,server()函数和client()函数中都含有通信功能,以便通信。程序采用图形界面结构,这样使界面更加友好,在这里我使用了MyEclipse8.6,选择使用Swing组件,进行界面的排版,在里面有有许多按钮,对其中一个Button按钮进行监听,输出文本信息,达到双方通信的要求。ServerClinetServerSocket(port#)Socketsocket=ServerSocket.accept()接收连接Socket(host,port#)与服务器建立连接OutputStreamOutputStreamCloseSocketCloseSocketInputStreamInputStream图2-1Socket通信的步骤4.1.2流程图4.2实现过程4.2.1源代码importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.ServerSocket;importjava.net.Socket;importjava.util.Calendar;开始初始化各界面变量建立Server()线程绑定Socket进行监听监听IP收发数据收发信息是否与其他链接结束开始初始化各界面变量建立Clinet()线程建立Socket()输入IP地址连接IP收发数据收发信息结束是否与其他链接YESYESNONOserver()函数线程client()函数线程建立Socket()@SuppressWarnings(serial)publicclassConversationWindowextendsjavax.swing.JFrame{publicConversationWindow(){initComponents();}//GEN-BEGIN:initComponents//editor-folddefaultstate=collapseddesc=GeneratedCodeprivatevoidinitComponents(){jTextField1=newjavax.swing.JTextField();jTextField2=newjavax.swing.JTextField();jTextField3=newjavax.swing.JTextField();jToggleButton1=newjavax.swing.JToggleButton();jToggleButton2=newjavax.swing.JToggleButton();jToggleButton3=newjavax.swing.JToggleButton();jScrollPane1=newjavax.swing.JScrollPane();jScrollPane2=newjavax.swing.JScrollPane();jTextArea1=newjavax.swing.JTextArea();jTextArea2=newjavax.swing.JTextArea();jButton1=newjava

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

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

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

×
保存成功