基于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 实用。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。