欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    多人聊天系统的设计与实现课程设计说明书.docx

    • 资源ID:718866       资源大小:24.20KB        全文页数:11页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    多人聊天系统的设计与实现课程设计说明书.docx

    摘要本课程设计主要是设计并实现一个简单的多人聊天程序,该聊天程序能够支持多人聊天,聊天的内容可以仅仅支持文本信息、,聊天程序包括效劳器程序和客户端程序。在课程设计中系统的开发平台为Eclipse程序运行平台为WindowsXPo关键词:聊天程序;效劳器;客户端;Eclipse目录1课题描述错误!未定义书签。2设计过程2效劳器模块32.2 客户端模块32.3 信息处理模块42.4 源代码43测试11总结13参考文献141课题描述随着社会开展,Interneni的迅速普及,人们对实时通信的要求越来越迫切,需求日益增加,网络聊天已经成为了一大时尚,不少人都有这样的经历。客户客户端/效劳器模式是一种能够在基于网络环境的分布处理过程中,使用基于连接的网络通信模型。该通信模型首先在客户机和效劳器之间定义一套通信协议,并创立一个SOCket类,利用这个类来建立一条可靠的链接:然后,客户端/效劳器再在这条连接上可靠地传输数据。客户端发出请求,效劳器发出请求,效劳器监听来自客户机的请求,并为客户端提供相应效劳。客户/效劳模式可靠性高、采用模块化设计所以它的优势很明显。是现代通信不可或缺的一局部。本课题主要是通过对简单聊天程序的设计及QQ原理的分析,了解聊天程序的功能需求及工作原理;熟悉TCP/IP协议以及套节字编程原理;熟悉Eclipse编程环境及SocketZServerSocket编程方法。开发工具:Eclipse2设计过程聊天室的总体设计过程比拟简单主要是构建设计框图。就是当客户端发出信息时,我们将数据写到SoCket,当对方有数据到达时,我们从SOCket读出来并显示给客户。程序关键在于如何监听到有信息到达的过程。应用程序流程图如下列图所示,开始是先创立主窗口,然后初始化窗口,程序下面才开始消息循环处理。如果没有消息循环的活,直接结束掉这个程序。如果有循环的话,要判断这个窗口消息的内容是哪种类型,然后再进行选择处理方式。流程图如图2-1所示图2-1效劳器模块图效劳器模块聊天室主要包括三个模块,效劳器模块、客户端模块、信息处理模块。该聊天室可以支持多人聊天,只支持文本信息。效劳器模块所包含的函数模块如下列图所示图2-2效劳器模块图客户端模块客户端所包含的函数模块如下列图所示图2-3客户端模块图信息处理模块信息处理模块包括注册信息及登录信息的处理模块,其所包含的函数模块如下列图所示图2-4信息处理模块图源代码/ChatSerpackagelee;importjava.util.*;importjava.io,*;publicclassChatServiceprivatestaticChatServicecs;privatePropertiesuserList;privateLinkedList<String>chatMsg;privateChatServiceOpublicstaticChatServiceinstance()if(cs=null)cs=newChatServiceO;returncs;publicbooleanvalidLogin(Stringuser,Stringpass)throwsIOExceptionif(loadUser().getProperty(user)=null)returnftlse;if(loadUser().getProperty(user).equals(pass)returntrue;returnfalse;publicbooleanaddUser(Stringname,Stringpass)throwsExceptionif(userList=null)userList=loadUser();if(userList.containsKey(name)thrownewEXCePtiOn("用户名已经存在,请重新选择用户名");userList.setProperty(name,pass);saveUserList();returntrue;publicStringgetMsg()if(chatMsg=null)chatMsg=newLinkedList<String>();retum"”;Stringresult=,m,;for(Stringimp:chatMsg)result+=tm÷"n"returnresult;publicvoidaddMsg(Stringuser,Stringmsg)if(chatMsg=null)chatMsg=newLinkedList<String>();if(chatMsg.size()>40)chatMsg.removeFirst();chatMsg.add(user+"说:”+msg);/下面是系统的工具方法privatePropertiesIoadUserOthrowsIOExceptionif(userList=null)Filef=newFile(nuserFile.propertiesn);if(!f.exists()EcreateNewFileO;userList=newProperties();userList.load(newFileInputStream(O);returnuserList;privatebooleansaveUserList()throwsIOExceptionif(userList=null)returnfalse;userList.store(newFileoUtPUtSlream("userFile.PrOPerlies”),"userList”);returntrue;/packagelee;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletExcetion;importjavax.servlet.Servlet;importjavax.servlet.ServletRequest;VletResponse;importjavax.servlet.ServletExcetion;importjavax.servlet.ServletContext;importjavax.servlet.RequestDispatcher;importjavax.servlet.Servlet;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;impoiljava.io.PrintWriter;importjava.io.IOException;publicclassChatServletextendsServlet*Constructoroftheobject.*/publicChatServletOsuer();*Destructionoftheservlet,<br>*/publicvoiddestroy()super.destroy();/Justputs"destroy"stringinlogPutyourcodehere*ThedoGetmethodoftheservlet,<br>*Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget.*paramrequesttherequestsendbytheclienttotheserver*paramresponsetheresponsesendbytheservertotheclient*()throwsServletExceptionifanerroroccurred*()throwsIOExceptionifanerroroccurredpublicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException*ThedoPostmethodoftheservlet,<br>*Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost.*paramrequesttherequestsendbytheclienttotheserver*(3)paramresponsetheresponsesendbytheservertotheclient*(2)throwsServletExceptionifanerroroccurred*(3)throwsIOExceptionifaneoroccurredpublicvoiddoPost(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException*Initializationoftheservlet,<br>*(3)throwsServletExceptionifanerroroccurspublicvoidinit()throwsServletExceptionPutyourcodehere)publicvoidservice(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletExceptionFequest-SetCharacterEncodingCrUTF-S'1);Stringmsg=request.getParameter("cha(Msg");if(msg!=null&&!msg.equals("")Stringuser=(Slring)request.getSession(true).gelAltribute("user");ChatService.instance().addMsg(user,msg);设置中文流response.setContentType(text/html;chaset=GBK,);PrintWriterout=response.getWriter();out.println(ChatService.instance().getMsg();3测试聊天室的程序模块如下列图所示图3-1聊天室程序模块图程序运行后,用户注册界面如下列图所示图3-2用户注册界面用户登录界面如下列图所示图3-3用户登录界面进入聊天室的聊天界面如下列图所示图3-4聊天室界面可以进行多人聊天,多人聊天如下列图所示图3-5多人聊天总结网络的课程设计,之前没有接触过网络编程的语言,所以感觉难度比拟大,也因为如此,在找资料及向老师同学的请教中学到了很多的东西。这次的课程设计是简单聊天程序,在平日的生活学习中,可以说QQ等即时

    注意事项

    本文(多人聊天系统的设计与实现课程设计说明书.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开