基于JAVA的即时通讯系统设计与开发

0 下载量 166 浏览量 更新于2024-06-24 收藏 1.02MB DOC 举报
"学士学位论文—-基于java的即时通讯的设计与开发计算机系.doc" 这篇学士学位论文主要探讨了基于Java的即时通讯系统的设计与开发,涉及计算机科学与技术领域的知识。作者通过分析即时通讯业务的特点,如安全性、私密性和本地化需求,选择Java作为开发语言,利用其跨平台、安全性和多线程等优势进行系统构建。 论文的主要内容包括以下几个方面: 1. **即时通讯业务理解**:即时通讯(Instant Messenger,IM)是一种实时在线交流工具,常见的有MSN、QQ、UC等,它们通常具有商业化的特性。在当前网络环境下,设计一个安全、私有的本地或部门内即时通讯工具具有重要意义。 2. **Java语言的优势**:Java语言因为其简单易用、跨平台、强大的安全性以及对多线程和网络Socket编程的支持,成为开发即时通讯系统的理想选择。数据流概念也是Java处理网络通信的重要组成部分。 3. **系统分析与设计**:论文深入研究了即时通讯系统的需求、架构和构成模块,采用了eclipse作为开发环境,并运用重构开发方法优化设计。系统设计中,重点考虑了如何利用Java的多线程机制来实现高效的消息传递。 4. **多线程实现**:基于局域网通信机制,通过直接继承Thread类创建多线程,实现服务器程序和客户端程序。服务器端使用Socket套接字监听和转发客户端信息,同时维护用户列表。客户端则通过与服务器建立连接,实现实时信息交互。 5. **网络通信技术**:论文中提到了Socket编程,这是Java进行网络通信的基础,它允许服务器和客户端之间建立可靠的双向通信通道。 6. **数据库支持**:虽然没有明确提及,但即时通讯系统通常需要存储用户信息和聊天记录,因此可能使用了MySQL这样的数据库系统来存储和管理数据。 7. **关键词**:论文的关键技术包括即时通讯、多线程、Socket编程以及MySQL,这些都是构建此类系统的核心技术。 这篇论文详细介绍了如何使用Java开发即时通讯系统,涵盖了从需求分析到具体实现的全过程,对于理解Java在即时通讯领域的应用以及相关技术的实践具有很高的参考价值。
2023-05-30 上传
文献综述 计算机科学与技术 基于Java的即时通讯系统设计与实现 随着计算机网络的迅猛发展,人们越来越依赖于网络来解决现实问题,其中即时通讯软 件就是网络技术的一种重要运用,而作为即时通讯的聊天软件,因为其便利快捷的特性,受 到了网民的青睐。 一、即时通讯系统的开发背景 自从上世纪中叶第一台计算机诞生以来,计算机越来越走进人们的生活当中,特别是随 着计算机网络的发展,把全世界的人们紧密的联系在一起,大大的扩展了计算机的功能。 由于互联网的方便快捷的优点,人与人之间的交流也更多的是在网络上进行。在这样的时 代背景下,即时通讯软件也顺势而生[1]。即时通讯(Instant Messenger,简称IM)是一个终端连往一个即时通讯网路的服务。即时通讯,在过去,网民 通常都会将IM等同于一个网络寻找朋友的工具、聊天的工具。但是,随着即时通讯软件功 能和应用的逐渐丰富和完善,IM已经演化成一个综合的桌面通讯平台。目前,无论从娱乐 角度还是从商务角度来看,即时通讯工具在国内外已经成为了一种富有价值的通讯工具, 并且在一些公司的每天业务运作中发挥着重要的作用。桌面即时通讯软件是一个潜力巨 大的支付窗口,它拥有能够把眼球转化成信息流乃至现金流的魔力。目前的即时通讯软件 已经向游戏、音乐、社区,甚至门户等领域的发展,人们已经更乐于用这些即时通讯软件 来交朋结友,发送手机短信,甚至传送文件。 二、即时通讯系统的开发语言 开发基于Socket通信的聊天软件 ,该软件采用了客户端/服务器(C/S)体系结构,由于Java是当下最流行的开发语言,它 一开始就内置了对网络编程的支持,它提供的强大的API,可以使程序员很轻松地开发出强 大的网络应用程序[2]。 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称 为一个Socket,Socket是面向客户/服务器模型设计的, Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将 处理此请求,然后通过Socket将结果返回给用户。 Socket通信机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需 求。使用有联接方式时,通信链路提供了可靠的,全双工的字节流服务。在该方式下, 通信双方必须创建一个联接过程并建立一条通讯链路,以后的网络通信操作完全在这一 对进程之间进行,通信完毕关闭此联接过程。使用无联接方式时其系统开销比无联接方 式小,但通信链路提供了不可靠的数据报服务,不能保证信源所传输的数据一定能够到 达信宿,在该方式下,通信双方不必创建一个联接过程和建立一条通讯链路,网络通信 操作在不同的主机和进程之间转发进行[3]。 Java语言的优点主要表现在:简单、面向对象、多线程、分布性等方面。 (1) 简单性 Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的 功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型 。 Java实现了自动的垃圾收集,简化了内存管理的工作。这使程序设计更加简便,同时减 少了出错的可能。 (2) 面向对象 Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法, 很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制 ,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提 供了一种动态的解决方案。 Java是一种完全面向对象的程序设计语言,它除了数组、布尔和字符三个基本数据类 型外的其它类都是对象,它不再支持全局变量。在Java中,如果不创建新类就无法创建 程序,Java程序在运行时必须先创建一个类的实例,然后才能提交运行。 Java同样支持继承特性,Java的类可以从其它类中继承行为,但Java只支持类的单重 继承,即每个类只能从一个类中继承。 Java支持界面,界面允许程序员定义方法但又不立即实现,一个类可以实现多个界面 ,利用界面可以得到多重继承的许多优点而又没有多重继承的问题。 (3) 多线程 多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不 同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样 容易实现网络上的实时交互操作。 Java程序可以有多个执行线程,如可以让一个线程进行复杂的计算,而让另一个线程 与用户进行交互,这样用户可以在不中断计算线程的前提下与系统进行交互。多线程保 证了较高的执行效率。 (4) 分布性 Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL 地址在网络上很方便的访问其他对象。 三、即时通讯系统的环境及研究重点 作为即时通讯的一种运用的聊天软件,它继承了即时通讯软件的