基于cs模型的java聊天室_毕业设计(编辑修改稿)内容摘要:
密码 Truename nvarchar 10 是 真实姓名 country nvarchar 16 是 所属地区 fav nvarchar 20 是 传真 tel nvarchar 20 是 电话 表 2:管理员信息表 字段名 类型 大小 允许空 备注 username nvarchar 20 否 用户名 password nvarchar 20 否 密码 (三) 系统功能模块详细设计 管理员登录模块流程图如图 12 所示: 图 12:管理员登录模块流程图 开始 输入用户名与密码 查询数据库 是否有这条记录。 进入管理员界面 提示用户名或密码错误 结束 巢湖学院毕业设计(论文) 15 下面对管理员登录程序流程图做简要叙述。 首先,管理员在登录界面中输入管理员用户名和密码,并向系统发送。 系统在收到发送信息后查询数据库,如果在数据库中存有相同的信息,则运行管理员界面。 如果在数据库中没有相同信息,则系统提示错误,并返回登录界面。 服务器管理模块流程图如图 13 所示: 图 13:服务器管理模块流程图 下面对服务器管理程序流程图做简要叙述。 首先,管理员通过登录界面进入到管理员界面中。 在此界面中可以实现对系统服务器的启动和关闭,查看在线用户人数和用户的聊天信息。 用户登录模块流程图如图 14所示: 管理员 身份验证 管理员界面 关闭服务器 启动服务器 查看在线用户人数 开始 结束 提示用户名或密码错 误 正确 错误 查看聊天信息 巢湖学院毕业设计(论文) 16 下面对用户登录程序流程图做简要叙述。 首先,用户在登录界面中输入用户名和密码经过系统验证后进入到聊天室中,同时,如果服务器已经启动,系统自动将聊天室连接上服务器,用户可以使用聊天室,并且在服务器端有用户登录的提示。 如果服务器没 图 15:聊天室模块流程图 图 14: 用户登录模块流程图 开始 输入用户名与密码 查询数据库 是否有这条记录。 进入聊天室界面 提示用户名或密码错误 结束 服务器端显示 用户 开始 结束 身份验证 聊天室 查看连接状态 接收信息 发送信息 提示用户名或密码错误 正确 错误 查看聊天信息 巢湖学院毕业设计(论文) 17 有启动,则用户可以进入到聊天室,但是使用不了聊天室。 聊天室模块流程图如图 15所示。 可以 对聊天室程序流程图做 这样的 简要叙述 : 用户在登录界面中输入用户名和密码进入到聊天室中。 在此界面中用户可以实现向其他用户发送信息,接收其他用户发送的信息,查看当前和服务器的连接状态。 巢湖学院毕业设计(论文) 18 第 五 章 编码与实现 (一)系统 主要模块代码 1. 启动 、 停止服务器 class Serverchat extends Thread{ public Serverchat(){ try{ intPort=(textPort)。 IAddress host=()。 (()++())。 ss=new ServerSocket(intPort)。 ssLive=()。 display(服务器已启动。 )。 } catch(Exception e){ display(服务器已关闭。 )。 } ()。 } public void run(){ while(true){ try{ clientSk=()。 if(clientSk!=null){ display(clientSk+join in )。 } } catch(IOException e){display(无法监 听。 )。 } int i=0。 do{ Connect c=new Connect(clientSk)。 巢湖学院毕业设计(论文) 19 (c)。 if(checkName(c)){ activeConnects++。 } else{ (TAKEN)。 disconnect(c)。 } i++。 break。 } while(i())。 } } } 2. 客户端连接服务器 class Clientchat extends Thread{ public Clientchat(){ try{loginName=()。 intPort=(())。 ipAdd=new String(())。 sk=new Socket(ipAdd,intPort)。 fromServer=newBufferedReader(new InputStreamReader(()))。 toServer=new PrintStream(())。 StringBuffer info=new StringBuffer(INFO:)。 String userInfo=loginName+:。 ((userInfo))。 ()。 address=()。 skLive=()。 巢湖学院毕业设计(论文) 20 display(connect successfully!++())。 } catch(Exception e){ display(connect failed!)。 } ()。 } 3. 聊天室发送信息 (new (){ public void actionPerformed(ActionEvent e){ button2_actionPerformed(e)。 } })。 (new textField2_KeyAdapter(this))。 (label1)。 (textField2)。 (button2)。 当客户在发送信息文本框中写好信息后,可以有两种发送方式,一种方法是点击发送按钮,另一种方法在键盘上敲击 “ENTER”。 4. 服务器转发信息 public void run(){ try{ while(true){ for(int i=0。 i()。 i++){ Thread1=(CommunicateThread)(i)。 msgStack=。 ClientName=(String)(i)。 for(int j=0。 j()。 j++){ string=(String)(j)。 broadcastInfor=ClientName++string。 broadcast(broadcastInfor)。 } ()。 巢湖学院毕业设计(论文) 21 } try{ (100)。 }catch(InterruptedException ex){} } }catch(Exception e){} } } 首先,服务器端得到每个连接上的客户端信息栈,读取每个连接线程信息栈并把信息发送出去。 最后清除已发送的信息。 public void notifyRoom(){ StringBuffer people=new StringBuffer(PEOPLE)。 ()。 String constr=” 当前在线人数为 + activeConnects”。 (constr)。 for(int i=0。 i()。 i++){ Connect c=(Connect)(i)。 ()。 } sendClients(people)。 } (二) 系统测试 首先,管理员在登录界面中输入用户名和密码进入到服务器端。 巢湖学院毕业设计(论文) 22 图 16: 管理员登录界面 进入到服务器端后启动服务器。 这时,系统可以显示出登录的用户人数和用户的聊天信息。 图 17: 系统服务器端 巢湖学院毕业设计(论文) 23 用户可以通过登录界面进入到聊天 室,即系统的客户端。 图 53为 user2 所在的客户端。 图 18: 系统客户端 若在运行过程中有用户退出客户端,则服务器端会有该用户已退出的提示,并且当前在线人数会自动减 1,在此为 user2 退出。 图 19:有用户退出时的服务器端 巢湖学院毕业设计(论文) 24 若在运行中服务器被停止,则服务器端会提示服务器已停止,并且当前在线人数变为 0,客户端在连接状态栏中会有连接失败的提示,收发信息将会不成功。 图 20: 服务器被停止 巢湖学院毕业设计(论文) 25 图 21: 服务器停止后的客户端 巢湖学院毕业设计(论文) 26 结束语 本课题是利用 Java,基于 C/S 开发的网上聊天室。 在分析、研究聊天室技术的基础上,对系统的组织结构、数据流程、用户需求等内容进行了详细的调查和分析。 本课题的完成,综合运用了大学的专业课知识,特别是软件工程、 Java 等与系统设计有紧密联系的知识,并加强了对实际问题的分析和解决能力,做到理论联系实际。 课题中,完成了对用户和系统流程的需求分析的调查,系统的分析和设计,增强了 Java 网络编程的实际锻炼。 在本次的系统设计中,出现了有很多不足和需要改善的地方,这在以后的设计中都需要重点注意并加以改善,如:对代码某些功能和属性认识 不清楚,在代码编写过程中,经常会出现因为用错代码,而使系统产生错误。 因为对 Java Socket 技术掌握的不够充分,在系统设计中,有些功能未能实现,如实现用户列表等。 这些在聊天室中都是必须具有的功能。 在界面设计中,也存在界面设计不够完美,不够人性化,功能不够详尽等问题。 通过本次的毕业设计,使我对一个应用系统的开发有了进一步的了解,对软件开发的过程也有了较深的认识。 经过三个月的设计和开发,基于 C/S 的 Java 聊天室系统基本开发完毕。 其功能基本符合系统开发前所撰写的用户需求分析的要求,能够初步完成基于 C/S 的 Java 聊天室的相关功能。 由于设计时间较短,系统开发经验不足,所以该系统还有许多不尽如人意的地方。 但是,这次毕业设计的完成,使我巩固和加深了专业知识并积累了一次软件开发的宝贵经验,这对我以后的工作和学习都有很大的实际意义的帮助。 巢湖学院毕业设计(论文) 27 参考文献 [1]飞思科技产品研发中心 .Java TCP/IP 应用开发详解 [M].北京:电子工业出版社, 20xx [2]飞思科技产品研发中心 .JBuilder5 应用开发详解 [M].北京:电子工业出版社, 20xx [3]王选 .软件设计方法 [M].北京:清华大学出 版社, 1992 [4]朱三元,钱乐秋,宿为名 .软件工程技术概论 [M].北京:科学出版社, 20xx [5]周之英 .现代软件工程 [M].北京:科学出版社, 1992 [6]郎波 .Java 语言程序设计 [M].北京:清华大学出版社, 20xx [7]耿祥义,张跃平 .Java2 实用。基于cs模型的java聊天室_毕业设计(编辑修改稿)
相关推荐
来说并不是一个很大的负担,因而在经济上是可行的。 可行性分析结论 通过在社会、技术、经济三方面的可行性研究分析,发现系统的开发满足这三方面的要求,因此一致认为系统应该立即开发。 系统功能分析 在局域网中的考试系统应该满足服务器端与客户端的通信,服务器端必须满足试卷录入、试卷发放、试卷评判、考试时间设置等功能;客户端应该满足在线答题、提交试卷等功能。 6 第 3 章 系统总体设计 系统设计原理
Software、 Red Hat及 Sybase 等。 Eclipse 是一个开发源码项目,它其实是 Visual Age for Java 的替代品,其界面跟先前的 Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。 近期还有包括 Oracle 在内的许多大公司也纷纷加入了该项目,并宣称
........................................................................................... 22 实现概况 ...................................................................................................
............................................29 公司信息 ................................................................................................29 设定基本资料 .........................................
即可 显示出“工程管理”窗口。 潮流计算菜单和工具栏 点击菜单中的“潮流”,显示潮流计算菜单,如下: 南京大学本科毕业设计说明书 潮流计算的工具栏,缺省显示位置为屏幕右方,该工具箱可移动,潮流计算工具栏如下图所示: 如果界面上没有显示潮流计算工具栏,则可通过点击并选中菜单中的“视图 | 工具栏 | 潮流计算类”显示,如下图所示: 南京大学本科毕业设计说明书 或 :执行潮流初始数据检查; 或
CRM 课程报告 工商管理 市场营销 8 / 20 顾客忠诚 顾客忠诚是指顾客对企业产品和服务的认可和信赖 ,坚持长期购买和使用该企业产品和服务 ,并在此过程中所表现出的在心理和情感上的一种高度信任和忠诚的程度 ,是顾客对企业产品和服务在长期竞争中所表现出的优势的综合评价和肯定。 Olive 认为顾客忠诚可以通过四个阶段形成 :第一阶段是认知忠诚 ,它直接或间接展示了对品牌及其利益的认知