毕业论文-基于java的即时通信软件设计与实现内容摘要:
e finally dbutilcloseAll return false 发送登陆信息的代码方法如下 public static void sendLogin LoginModel lm try socket newSocket FinalFileSER_IP FinalFileSER_LOGIN_PORT objout new ObjectOutputStream socketgetOutputStream objoutwriteObject lm catch UnknownHostException e TODO Autogenerated catch block eprintStackTrace catch IOException e TODO Autogenerated catch block eprintStackTrace finally closeAll 如果上面的验证登陆成功后那么就进入登陆成功这一环节此时用 JFrame 类写一个客户端好友界面 ClientFrame 在这个好友界面里添加好友模型 FriendPanel 获取头像姓名签名并在好友界面里添加监听好友模型线程类 FriListListener 好友状态改变线程类 ChangeFriTypeListener 以及消息线程 MesListener 好友模型线程是为了获取好友的信息好友状态改变线程是为了监听好友的装太多改变消息线程是为了获取好友的消息 好友模型线程 FriListListener 类主要是显示好友列表到界面 ArrayList friList ArrayList objinreadObject wingetFrisPanel setFrisView friList wingetFrisPanel repaint wingetContentPane repaint winvalidate 好友状态改变线程类 ChangeFriTypeListener 类主要是将该边状态的好友重新显示在好友列表客户端并对改变了的好友不断的刷新这部分功能代码如下 LogUnLogModel cm LogUnLogModel objinreadObject ArrayList fpList wingetFrisPanel getFriPanList for FriendPanel friendPanel fpList if friendPanelgetFriModel getnum cmgetChangenum friendPanelgetFriModel setLogtype cmgetLogType friendPanelgetPicLab setIcon friendPanelgetImage break 54 添加好友删除好友修改 个人资料模块 用户点击添加好友按钮这时会弹出一个添加好友画面用户把自己要添加的好友写入到文本框里客户端将其封装然后交给服务器将好友添加到好友表里同时刷新客户端界面可以实现添加好友删除好友将删除的好友获取后从好友表中删除同时刷新界面即可修改个人资料是将自己的新昵称新签名新密码获取然后在用户表中更新同时刷新客户端界面便可实现设置个人信息 添加好友的主要代码为 public void addFriend int num1int num2 String sql insert into friends values sq_firnextval num1 num2 dbutilexecuteDML sql 删除好友的主要代码为 public void deleteFri int num1int num2 String sql delete from friends where num num1and frinum num2 dbutilexecuteDML sql 修改个人资料的代码为 public void updateInfo String nameint numString desc String pass String sql1 update user set desc desc where num num dbutilexecuteDML sql1 String sql update user set pass pass where num num dbutilexecuteDML sql String sql2 update user set name namewhere num num dbutilexecuteDML sql2 55 发送和接收消息模块 聊天流程 用户登录成功后双击好友打开聊天面板并填写聊天内容消息先是由用户发送给服务器然后由服务器转发给好友在这里是有服务器获取到好友的 ip 然后服务器将分装好的消息发送给这个 ip 和这个端口的好友头像闪通好友通过接收消息的端口接收消息就可以实现两个用户之间的聊天聊天流程图如图 9 图 9 聊天流程图 接收消息 登陆成功后对每一个 FriendPanel 添加双击事件类 DoubleClickHandler 双击对方头像后将会出现和对方的一个对话框类 SessionFrame 并对此类的按钮添加一些监听事件通过这个点击获取到对方的信息发送消息主要是通过socket new Socket ipport 将一个消息发送给这个 ip 和端口的好友当然在此之前还要判断好友是否在线如果在线双击这个头像弹出对话框 写一个类 MesListener 用来接收消息但这里必需用一个相同的端口接收消息同时也是将接收到的消息转换成文字流这个时候先判断这个消息对话框是否打开如果这个会话框是打开的那么显示消息显示消息主要是将回话框里的文本文档用 append 添加进来如果这个回话框没有打 开那么必须先闪动头像把消息加入消息列表 发送消息的方法代码为 public static void sendMes MesModel mes String ip int port try socket new Socket ip port objout new ObjectOutputStream socketgetOutputStream objoutwriteObject mes catch UnknownHostException e TODO Autogenerated catch block eprintStackTrace catch IOException e TODO Autogenerated catch block eprintStackTrace finally closeAll 客户端检查消息对话框是否打开以及将消息加入消息列表的主要代码如下 MesModel mes MesModel objinreadObject int frinum mesgetnum for FriendPanel fp wingetFrisPanel getFriPanList if fpgetFriModel getnum frinum if fpgetSession isVisible fpgetSession getJtaG append MesUtilgetMesInfo mes fpgetFriModel getname else fpgetFsPane getMesList add mes fpsetMesPic break 56 关闭客户端 用户点击自己的客户端上的关闭按钮此时需通知服务器下线然后服务删除该用户同时在服务器端重新显示在线用户并发送给登陆用户其在线好友通知下线信息 图 10 关闭客户端 删除登陆用户代码的主要方法为 public void unLoginUser int num String sql delete login where num num dbutilexecuteDML sql 第六章 系统测试 61 系统测试案例 为了检测最总系统的效果本文运用的是 MyElipse 85 软件来进行测试在这里我先自己注册一个账号查看注册功能是否成功然后我用错误的账号和已注册的注册的账号分别进行登录来进行验证去分别查看登录失败效果图登录成功图以及双击好友和好友聊天等功能的实现 62 测试结果和分析 运行程序进入客户端登录界面如图 11 图 11 客户端登录界面图 点击注册按钮就如注册界面得到的注册效果图如图 12 图 12 注册效果图 注册成功后得到的申请账号成功界面如图 13 图 13 申请账号成功界面图 用一个错误的账号或者密码分别输入到账号密 码中进行登录验证这时应该显示密码和账号错误得到的提示如图 14 图 14 登录错误图 然后再用一个正确的账号密码进行登录进行验证显示登录成功好友界面在这个好友界面里添加好友模型 FriendPanel 获取头像姓名签名等客户端好友界面如图 15 图 15 好友界面图 然后双击自己的好友聊天在这里比如双击自己的好友杨飞会弹出和自己好友聊天的界面在这个界面包括了聊天的好友名称时间以及对话内容好友聊天图如图 16 图 16 好友聊天图 第七章 总结与展望 随着科学技术的 发展即时通信系统已经越来越重要所以我很高兴的选择了这样一个毕业设计系统着重研究并实现了网络应用的部分根据实现的情况看具有较友好的聊天界面生成效果以及流畅的网络通信效果生成的聊天室可以达到基本的聊天要求具有较高的研究价值当然该课题讨论的即时通讯系统是定位于内部局域网供小团体内部人员使用的通讯系统 即时通信中最基本的功能就是通过计算机之间的文本数据的互换的形式实现思想的交流和沟通它的优点是方便快捷为人们之间创建了一种新型的廉价的快速的简便的沟通方式 首先本系统完全按照软件工程的瀑布模型进行开发是按照需求分析概要 设计详细设计软件的运行和测试等的结构进行安排的 其次即时聊天系统采用了 CS模型服务器在 CS模型中处于一个中心地位服务器一般同时为多个客户提供服务这就造成了服务器设计的复杂性即时通讯服务器是数据中心它是客户活动的中介需要同时应对众多客户的请求 经过一段时间的学习和工作该即时聊天系统已经实现了网络即时通信工具的主要功能为实现一个崭新的可跨平台的 Java 即时聊天工具打下了基础 参考文献 [1] 尹治本计算机网络及应用教程 [M]成都西南交通大 [2]熊晓敏刘瑛陈惠清基于 Java 的网络即时通讯系统的设计与实现 [J]计算机与现代化 2020 12 8992 [3] 罗军舟黎波涛杨明吴俊黄健 TCPIP协议及网络编程技术北京清华大 [4] Bruce Eckel 著侯捷翻译 Java 编程思想 [M]北京机械工业出版社出版20209 [5] 京丽等数据通信原理 [M]北京北京邮电大 [6] 张虹软件工程与软件开发工具 [M]北京清华大学出版社 2020 [7] BrueeEekelThinkingInJava 第三版 [M]。毕业论文-基于java的即时通信软件设计与实现
相关推荐
颇深 ,如果你的电脑性能不差 ,部署的速度非常快 ,与传统的方式比他的优势是如此的明显 ,相信只要你一用你就不想再想用传统的方式了 ,但有点不尽人如意的是只要你的代码修改了你就要重新部署你所打的软件包 ,比如当你在 JBOSS服务器里部署 的时候 ,如果你的一些 Bean类变化或者修改 ,你就不得不要去重新部署 ,但是还是不影响你的效率的。 ( 1)项目自动部署和启动服务
用厂商定义的、预封装好的软件和硬件,工程师和科学家获得了最大的用户定义的灵活性。 传统仪器把所有软件和测量电路封装在一起,并利用 仪器前面板为用户提供一组有限的功能。 而虚拟仪器系统提供的则是完成测量或控制任务所需的所有软件和硬件设备,功能完全由用户自定义。 此外,利用虚拟仪器计数,工程师和科学家们还可以使用高效且功能强大的软件来自定义采集、分析、存储、共享和显示功能。
2:阻带波纹 :通带内所允许的最大衰减 (dB) :阻带内允许的最小衰减 (dB) () () 一般要求: 当 时, ( ) 当 ( ) 数字滤波器设计方法概述 IIR 滤波器和 FIR 滤波器的设计方法很不相同, IIR 滤波器设计方法有两类: (1) 借助于模拟滤波器的设计方法 进行的。 其设 计思路是:先设计模拟滤波器得到传输函数 Ha(S),然后
是许多车主曾遭遇过的通病。 业内的技术专家则表示,目前市场上多数导航产品的确存在部分3 导航仪的故障分析与诊断 通病,若用户稍不注意,使用半年到一年就会“发作”,因此 ,提醒产品尚未“病发”的车主们,及时纠正自己的使用习惯还为时未晚。 ●吸盘容易松脱 不少车主反映,导航仪在行驶过程中会突然从挡风玻璃处掉下来。 当把产品重新固定在挡风玻璃上后,过了一两个小时,导航仪又会重新摔下来。 发病时间:
所加信号的频率太低 时连接在变压器两端的电阻 R2 就会被短路 , 致使 差分输出 OUT1 为零。 图 使用变压器 的差分转单端输出电路 ,经调试发现其压降为 (硅二极管为 ,锗二极管为 )而 FPGA 认可的高电平其最小值是 2V,导致波形输出混乱,给调试工作带来了不必要的麻烦。 最后通过改接一个 0 的电阻使其低电平强制置零。 图 接有发光二极管的开关电路 图 修改后的开关电路 4.
码, E=高脉冲 输出:无 3 读数据:输入: RS=H, RW=H,E=H 输出: D0~D7=数据 4 写数据:输入: RS=H,RW=L, D0~D7=数据, E=高脉冲 输出:无 LCD 显示电路 电路连接如图 8: 串口通信 13 单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。 进行串行通讯时 是有 一定条件 的 ,计 算机的串口是 RS232 电平的