收藏 分销(赏)

课题即时通讯毕业设计方案.doc

上传人:w****g 文档编号:2601579 上传时间:2024-06-03 格式:DOC 页数:40 大小:452.54KB
下载 相关 举报
课题即时通讯毕业设计方案.doc_第1页
第1页 / 共40页
课题即时通讯毕业设计方案.doc_第2页
第2页 / 共40页
课题即时通讯毕业设计方案.doc_第3页
第3页 / 共40页
课题即时通讯毕业设计方案.doc_第4页
第4页 / 共40页
课题即时通讯毕业设计方案.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、毕业设计阐明书公司内部即时通讯系统设计与实现电子与计算机科学技术学院海南社区学生姓名: 学号: 学 院: 网络工程专 业: 指引教师: 6月公司内部即时通讯系统设计与实现摘 要随着计算机网络应用逐渐普及,网络已经成为人们掌握信息、交流信息以及管理信息必不可少重要工具。实时通信浮现给人们带来了极大便捷,同步也带来了时间和经济上节约。如今,网络即时通信已经逐渐发展成为应用于各行各业信息交流工具。通过设计和实现一款集即时通信与人事管理于一体网络应用程序,讨论并分析在TCP/IP合同基本上设计并实现一种C/S构造即时通信系统详细过程。一方面,简介网络即时通信开发必备技术知识,涉及惯用即时通信系统客户端

2、和服务器端通讯合同,以及即时通信系统功能设计、系统构造模式设计、数据信息设计等。另一方面,分析和设计客户端与服务器端之间通信合同,以规范系统中端与端数据传播过程。然后,对系统中最重要某些即网络传播控制模块,进行详细设计阐明以及简朴实现方案阐述。最后,描述即时通信系统整体逻辑解决流程,以及该系统在人事管理方面功能实现,以及其她某些已通过测试服务器程序测试客户端程序代码。即时通信系统设计与实当前公司建立自己特色集信息管理和即时通信为一体内部应用软件方面具备一定应用前景。核心词:即时通信,网络应用程序,TCP/IP,通信与办公系统Design and Implementation of Enterp

3、rise Instant Messaging SystemAbstractAs the widespread of web application,internet has become the indispensable tool for information acquisition,communication and management.The advent of real-time communication has brought people great convenience as well as saving time and money. Nowadays,web-base

4、d real-time communication has been developed to a communication tool for many fields.Analyzes and discuss the process of designing and implementing a real-time communication system of C/S structure based on TIP/IP protocol,through designing and implementing a network application combined the functio

5、ns of instant communication tool and also a personnel management tool. First,to introduce some necessary technical knowledge and the functional designing、system structure module designing and data information designing of development of the IM system. Second,analyze and design the communication prot

6、ocol between Client and Server of the system to regular the data transportation process between ports. Third,describe the designing and implementation of the most important part of the system which is the web transportation controlling module. Finally,introduce the logic processing of the whole IM s

7、ystem and some client programs or code which have passed the testing of server program.Designing and implementing of IM system has a definite applying prospect in the aspect of building an interior and own application which gather instant messaging and information managing.Key words:Instant Messagin

8、g,Network Application,TCP/IP,IM in Office目 录1 引言11.1 课题背景与意义11.2 有关技术知识简介21.2.1 基于SOCKET网络编程21.2.2 UDP合同与TCP合同简朴简介21.2.3 WINSOCK套接字API调用简朴流程32 系统有关分析与总体设计42.1 设计目的42.2 需求分析42.2.1 功能性需求分析42.2.2 系统用例分析42.3 概要设计原则52.4 系统安全与分析设计62.5 数据库构造设计72.6 系统开发环境和运营环境92.6.1 系统开发环境92.6.2 系统运营环境93 系统详细设计与实现103.1 系统登录

9、界面103.2 系统主界面133.3 系统聊天通讯界面153.4 查找朋友界面183.5 个人设立界面213.6 密保安全界面234 系统测试264.1 软件测试简介264.2 软件测试过程264.3 本系统所进行测试26总 结27参照文献28致 谢301 引言1.1 课题背景与意义随着计算机网络发展,人类通信方式也发生了翻天覆地变化。网络通信早已取代老式纸质信件,电话网络地位也在这个年代受到了来自计算机网络挑战。总之,网络通信在咱们生活和公司中可以说已经必不可少,公司内部即时通讯就是其中重要构成某些1。当前,中华人民共和国市场上公司级即时通信工具重要涉及:易睦网络imo云办公室、叮当旺业通、

10、Anychat、网络飞鸽、汇讯WiseUC、大蚂蚁Bigant、上海盈硕蚁傲、腾讯RTX、FastMsg、263EM、IBMLotus Sametime、点击科技GKE、中华人民共和国移动公司飞信、华夏易联e-Link、网络飞鸽QuickDove等2。相对于个人即时通信工具而言,公司级即时通讯工具更加强调安全性、实用性、稳定性和扩展性,同步更可依照应用实际能按需定制,随着公司信息化进程不断演进,公司即时通讯在公司中应用将越来越广泛。公司内部即时通讯系统是公司员工在工作时经常要与其她同事进行协同工作和跨部门合伙,全方位地运用有限资源协同完毕更多工作,因而各部门同事间需要进行即时沟通。采用JMS

11、(Java Message Service)技术实现公司内部即时通讯系统。使该系统为使用者提供即时消息、网络会议、文献传播、系统公示等功能,可实现使用者与各部门同事间协同办公规定,满足公司内部进行更加高效沟通需求,为公司提供一种公共、可靠内部沟通方式。公司内部即时通讯系统好处: (1)提高工作效率:在与公司客户与同事沟通时可以达到提高工作效率。 (2)迅速解决沟通问题。 (3)可以迅速懂得对方与否在线。 (4)与邮件、移动短信结合更是威力无穷。当适合公司即时通讯系统广泛应用于工作后,交流渠道便于扁平化管理,业务上平等交流;由于是书面交流,有助于理清头绪,明晰表达;并且,办公室人与人之间关系变得

12、更加真诚和紧密。 因此纵上所述,如果公司要用即时通信,最佳用专用公司即时通讯系统,而最佳不要用个人即时通讯3-5。1.2 有关技术知识简介1.2.1 基于SOCKET网络编程SOCKET在英文中意思是插座,在网络编程中,其实际意义可以理解为网络通信连接插座,普通称之为套接字。如果将网络连接各终端类比为电话,则SOCKET即相称于电话线插座,为各终端提供或创立与其她终端通信连接桥梁或通道。所有终端都必要接通此“插座”来完毕与其她终端连接或通信,否则,它将独立于网络之外6。由此可以懂得懂得,SOCKET是终端间建立连接核心对象。那么,对于一种SOCKET对象,它究竟具备什么样功能呢?普通,用WIN

13、SOCK库来创立和使用SOCKET,运用WINSOCK库基本API,就可以实现简朴数据输入和输出(即发送数据和接受数据)。在创立一种SOCKET对象后,通过指定IP地址来拟定该SOCKET与哪台机器发生交流,通过指定机器端标语(普通为1024以上)拟定与该机器上哪个应用程序进行交流。在拟定了交流对象后,便可以使用SOCKET与对象机器上应用程序进行数据传播和信息交流。在面向连接网络通信中,还必要使用SOCKET进行连接监听和创立,只有创立了稳定连接后,才开始进行数据传播7。由于交互方式不同,SOCKET也分为两种,一种是无连接数据报形式,一种则是面向连接流式套接字,这也是接下来两小节要阐述内容

14、8。1.2.2 UDP合同与TCP合同简朴简介UDP合同是一种简朴面向数据报运送层合同:进程每个输出操作都正好产生一种UDP数据报,并组装成一份待发送IP数据报。这与面向流字符合同不同,如TCP,应用程序产生全体数据与真正发送单个IP数据报也许没有什么联系9。UDP不提供可靠性:它把应用程序传给IP层数据发送出去,但是并不保证它们能到达目地,其过程可以比做投递信件,它只关怀信件的确投放到信箱,至于对方与否对的、准时收到信件,UDP并不关怀10。尽管TCP和UDP都使用相似网络层(IP),TCP却向应用层提供与UDP完全不同服务。TCP提供一种面向连接、可靠字节流服务11。面向连接意味着两个使用

15、TCP应用(普通是一种客户和一种服务器)在彼此互换数据之前必要先建立一种TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才阐明是谁并与之开始对话12。1.2.3 WINSOCK套接字API调用简朴流程本论文所要讨论即时通信系统则是通过WINSOCK库应用来设计和实现基于TCPC/S构造网络即时通信程序。这里,用图方式简朴表达出对WINSOCK库提供API函数调用过程13。2 系统有关分析与总体设计2.1 设计目的本系统重要是为中小型公司内部使用带有简朴人事管理功能局域网即时通信系统,由于要存储并管理顾客有关信息数据,同步要限制普通顾客对数据信息管理权限,比较适当设计是

16、采用C/S模式系统架构,数据由数据库进行存储,由服务器对数据库进行直接操作,而客户端则通过对服务器发出祈求得到相应数据或者告知服务器对数据库进行何种操作14。2.2 需求分析2.2.1 功能性需求分析本系统这实现了公司内部网络聊天工具所具备基本功能,即注册、登录、查找朋友,添加朋友、更改个人资料、查看朋友资料、添加删除分组、各分组之间转移朋友、发送消息、接受消息、接受系统消息等,还添加了某些特色功能,如隐身,头像变化,系统管理员可以向每个客户端发送系统消息,上线下线在朋友客户端均有提示,密码丢失可以通过密码找回功能通过设立密保问题找回密码,并可以判断密码安全级别等。本系统实现了一种与Tence

17、nt QQ相似和谐操作界面,简朴,易用,适合顾客操作习惯15。谢谢海南社区支持: 该系统具备了网络聊天工具所具备基本功能,系统或许存在某些未知Bug,还需要进一步改进和测试。在后来研究中,咱们还会研究安全通信合同,保障通信安全,提高系统实用性等16。2.2.2 系统用例分析 (1)系统普通顾客用例分析登录界面查看朋友信息更改个人信息添加删除分组发送信息密保设立接受信息分组转移朋友背景更改 普通顾客图2.1 系统普通顾客用例图查找朋友 (2)系统管理员用例分析操作数据库查看操作日记发布系统公示系统管理员图2.2 系统管理员用例图2.3 概要设计原则 公司内部即时通讯系统总体设计目是加强对需求分析

18、阶段功能性需求和非功能性需求综合考虑和理解,系统建设中咱们将采用基于C/S模式构建。这些技术应用实现系统应用安全、稳定及扩展规定以及开放跨平台能力和兼容性17。实现了操作界面、应用逻辑、业务数据相对独立,使本系统实行更加以便、灵活、易于扩展18。为了进一步规划详细系统解决方案做准备,本系统在设计过程中注重考虑了如下几种特性: (1)实用性本系统现实需求就是针对公司内部工作交流不便,挥霍时间,数据传送效率低等特点,但愿提出一种实用能满足系统功能规定和实际应用需要公司内部即时通讯系统。因此尽量选取成熟实用技术,使得整个系统有一种安全、稳定运营环境19。 (2)可扩展性为使系统能有良好兼容性和可扩展

19、性,系统在设计时充分考虑了数据库设计容量与解决能力等方面扩充与升级也许,不但充分保护了原有投资,还保证了后来系统功能升级以便20。 (3)安全性系统对数据完整性和安全性具备很高规定。为了保障系统平稳正常运营,整个系统必要具备很高安全可靠性,因而,在公司内部即时通讯系统应充分运用数据库维护工具,便于数据备份、恢复,从而提高系统安全性21。 (4)可维护性公司内部即时通讯系统设计要本着“简朴易用”原则,以便顾客使用。对于顾客来说,只要掌握基本计算机操作,便可完毕整个操作对于管理员来说,设计时以可维护性为主,做到故障易于排除,寻常管理操作简便22。 (5)完整性系统完整性,涉及到和谐顾客界面,高效信

20、息解决,安全可靠数据管理,以及优化网络设计23。2.4 系统安全与分析设计 由于本系统安全界面中,分为:“安全概述”,“常用欺诈”,“修改密码”,“修改密保”; (1)安全概述分析设计:重要是描述飞狐系统当前帐号安全状况 if (设立密保并且密码级别为良好以上) 安全状况良好请继续保持良好习惯 可及时完毕设立密码 else if (设立密保并且密码级别为中档如下) 安全状况存在隐患请定期修改密码 及时完毕设立密码 else 安全状况危险请立即设立密保问题 及时完毕设立密保 (2)常用欺诈 常用集中欺诈方式:钓鱼网址,视频欺诈,中奖欺诈,冒充朋友欺诈; (3)修改密码 修改密码之前请保证设立密保

21、;如果没有设立密保问题,请先设立密保问题,以保证该账户安全性。如果设立了密保问题,请先输入原密保问题,核对顾客身份。密保对的才可以修改,如果错误,则不能修改密码。 (4)修改密保 如果没有设立密保问题,设立密保问题。如果设立了密保问题,请先输入原密保问题,核对顾客身份。密保对的才可以修改,如果错误,则不能修改密保。2.5 数据库构造设计本系统数据库采用 mysql5.6,系统重要需要维护3张数据表:名称登录信息描述顾客登录时账号密码检测来源顾客去处服务器顾客表构成ID+密码 表2.1 登录信息表表2.2 朋友信息表名称取值类型长度昵称Char8IDInt6到8位密码Char6-16问题NOIn

22、t1-2问题答案Char20登录状态Int1 年龄Smallint0-99 地区Char20性别Char2签名Char100阐明Char255问题详细Char20朋友IDInt6-8朋友类型Int1朋友分组Int1备注char10朋友类型详细Char6朋友分组详细Char10日期Date内容Char255表2.3 注册信息名称注册信息描述注册新账号来源顾客去处服务器顾客表构成密码+个人资料表2.4 机位信息表名称聊天信息描述顾客聊天时发送信息来源顾客去处聊天登记表构成发送方IP+接受方IP+消息内容2.6 系统开发环境和运营环境2.6.1 系统开发环境本系统开发平台选取考虑到如下几种方面因素:

23、硬件环境、数据安全性以及技术支持等等。因而选取操作系统:Windows 7、Windows XP;开发工具:Eclipse;数据库:MySQL6.0;开发语言:Java。2.6.2 系统运营环境本系统由两某些构成:置于个顾客PC机上飞狐客户端,以及置于实验室高性能服务器上数据库服务器。依照调研得知客户端计算机配备Pentum4级别以上,服务器PC应配备更高配备,在Windows xp环境下运营。3 系统详细设计与实现3.1 系统登录界面系统顾客登录时,先打开登录页面,然后填写顾客和密码信息,并选取状态,点拟定后连接数据库,检查顾客名密码与否对的,对的则进入到系统主界面。不对的则提示输入密码有误

24、,请重新输入。输入密码选取状态输入密码与否对的登录成功跳转到主页面其他操作图3.1 顾客登录流程图YN输入顾客名图3.2 软件登录界面核心代码:private void jb_loginactionPerformed(ActionEvent e) throws UnknownHostException,IOException,InterruptedExceptionif (jt_user.getText().equals()JOptionPane.showMessageDialog(null,请输入账号后再登陆,提示,JOptionPane.INFORMATION_MESSAGE);else

25、if(jt_user.getText().length() 20)JOptionPane.showMessageDialog(null,请输入对的账号,账号可以位数字或Email地址。,提示,JOptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null,请输入密码后再登陆,提示,JOptionPane.INFORMATION_MESSAGE);elselogin_message lmessage = new login_message(jt_u

26、ser.getText(),jp_password.getText(),0,0,0,0,jco_status.getSelectedIndex() + 1);MainInterface main = new MainInterface(lmessage);this.dispose();private void jb_loginactionPerformed(KeyEvent e) throws UnknownHostException,IOException,InterruptedExceptionif (jt_user.getText().equals()JOptionPane.showMe

27、ssageDialog(null,请输入账号后再登陆,提示,JOptionPane.INFORMATION_MESSAGE);else if (jt_user.getText().length() 20)JOptionPane.showMessageDialog(null,请输入对的账号,账号可以位数字或Email地址。,提示,JOptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null,请输入密码后再登陆,提示,JOptionPane.INF

28、ORMATION_MESSAGE);elselogin_message lmessage = new login_message(jt_user.getText(),jp_password.getText(),0,0,0,0,jco_status.getSelectedIndex() + 1);MainInterface main = new MainInterface(lmessage);this.dispose(); 冯武宝 海南社区 3.2 系统主界面图3.3 系统主界面核心代码:class loginFounction extends Threadpublic void run()tr

29、ylogin_message lm = new login_message(lmessage.qq,lmessage.password,sys_port,main_port,alive_port,transmit_port,lmessage.status);loginClientThread loginThread = new loginClientThread(lm);loginThread.join(30000);if (loginThread.changed = 1)sendHeartbeatThread_main_temp.start();load();changed = 1;else

30、 if (loginThread.changed = 2)/ 当账号和密码不匹配时JOptionPane.showMessageDialog(null,您账号和密码不匹配!,提示,JOptionPane.INFORMATION_MESSAGE);System.exit(0);else/ 当登录超时状况JOptionPane.showMessageDialog(null,系统繁忙,请稍后再试!,提示,JOptionPane.INFORMATION_MESSAGE);System.exit(0);catch (Exception e)class receiveMainInfoThread exte

31、nds ThreadServerSocketserver;Socketclient;public receiveMainInfoThread()server = getAvailableServerSocketFunction.getServerSocket(main_port);main_port = server.getLocalPort();3.3 系统聊天通讯界面图3.4 聊天通讯界面核心代码:public void actionPerformed(ActionEvent e)if (e.getActionCommand() = 表情)Point p = MouseInfo.getPo

32、interInfo().getLocation();final expression ex = new expression(p.x,p.y);ex.addWindowListener(new WindowAdapter() public void windowActivated(WindowEvent e)/ 当窗口不活跃时候,自动关闭该窗口public void windowDeactivated(WindowEvent e)ex.dispose(););ex.setVisible(true);else if (e.getActionCommand() = 粗体)if (countBold

33、+) % 2 = 0)jt_recive.setUnBold();elsejt_recive.setBold();else if (e.getActionCommand() = 斜体)if (countItaic+) % 2 = 0)jt_recive.setUnItalic();elsejt_recive.setItalic();else if (e.getActionCommand() = 颜色)color = JColorChooser.showDialog(null,选取颜色,Color.black);/ 显示调色板color1 = color.getRed();color2 = co

34、lor.getGreen();color3 = color.getBlue();jt_recive.setColor(new Color(color1,color2,color3);jt_send.requestFocus();else if (e.getActionCommand() = 关闭)MainInterface.map_portLocal.remove(anotherQQ);MainInterface.map_chatWindows.remove(anotherQQ);dispose();else if (e.getActionCommand() = 发送)if (!jt_send

35、.getText().equals()text = jt_send.getText();jt_recive.insert_text2(myname + + time.gettime();transformToReceive(addSize(addColor(text);jt_send.setText();jt_recive.selectAll();jt_recive.setCaretPosition(jt_recive.getSelectedText().length();jt_recive.requestFocus();jt_send.requestFocus();3.4 查找朋友界面 图3

36、.5 查找朋友界面核心代码:void action()int mark = 1;if (tabNum = 0) / tabNum = 0查找联系人if (jr_1.isSelected() / 查找联系人 - 精准查找sign = 1; if (jt_user.getText().equals() & jt_nickname.getText().equals()JOptionPane.showMessageDialog(null,请至少填一种查询条件,警告,JOptionPane.WARNING_MESSAGE);mark = 0;if (!jt_user.getText().equals()

37、user = jt_user.getText();elseuser = null;if (!jt_nickname.getText().equals()nickname = jt_nickname.getText();elsenickname = null;else if (jr_2.isSelected() / 查找联系人 - 条件查找sign = 2; country = item_countryjc_country.getSelectedIndex();if (country.equals(中华人民共和国) province = item_provincejc_province.getS

38、electedIndex();if (province.equals(山东)if (!item_cityjc_city.getSelectedIndex().equals(-)city = item_cityjc_city.getSelectedIndex();elsecity = null;else if (province.equals(北京)if (!item_cityjc_city.getSelectedIndex().equals(-)city = item_city1jc_city.getSelectedIndex();elsecity = null;else if (provin

39、ce.equals(-)province = null;city = null;else if (country.equals(美国)if (!province.equals(-)province = item_province1jc_province.getSelectedIndex();else if (province.equals(-)province = null;city = null;city = null;3.5 个人设立界面图3.6 个人设立界面核心代码:public information(personalInfo pinfo,Container c_temp1,MainI

40、nterface mainFrame)this.pinfo = pinfo;c_temp_mainInterface = c_temp1;this.main_frame = mainFrame; Image image = Toolkit.getDefaultToolkit().getImage(pic/face/b.jpg);setIconImage(image);screenSize = Toolkit.getDefaultToolkit().getScreenSize();frameSize = this.getPreferredSize();/ 保持弹出窗口居中this.setLoca

41、tion(screenSize.width - frameSize.width) / 5,(screenSize.height - frameSize.height) / 6);Container container = getContentPane();/ 设立背景图片jl_down = new JLabel();/ 把背景图片显示在一种标签里面jl_down.setIcon(new ImageIcon(pic/background/2.jpg);jl_down.setSize(600,450);c = (JPanel) container;c.add(jl_down);c.setOpaque(false);c.setLayout(null);

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服