java基于tcp_ip协议的聊天工具的设计与开发_毕业设计论文(编辑修改稿)内容摘要:
基于 TCP/IP 协议的聊天工具的设计与开发 2 第一章 概述 课题背景及意义 课题背景 当今处于一个信息爆炸的时代,随着 Inter 的迅速普及和发展,人们之间的沟通和交流变得越来越频繁,以至于到了人们每天的日常生活都离不开这个具有高效时效性的网络。 人们可以通过各种软件建立即时性的联 系,比如人们通常用的Email, , MSN 等等。 而 则是国内人尽皆知的即时性通讯软件,自从 1998年腾讯成立以来, 的发展几乎是飞跃式的。 据 2020 年 5 月 13 日腾讯官方公布显示,目前注册用户中的活跃用户达到了 亿的水平,最高同时在线人数高达 亿,这无疑是一个惊人的数据。 鉴于即时通讯软件在当今人们生活中的重要地位,以及本人怀着的对即时通讯软件的通信机制以及其工作原理的好奇,尝试用Java 语言编写一款局域网即时通信软件,以此来实践性的研究通信软件的工作流程。 本人通过网络渠道大概了解了 的基本通信原理。 大概了解到了 是以多个服务器提供服务,服务器管理客户端,客户端之间 UDP 通信,除非不得已的情况下,服务器才通过 TCP 转发消息。 其具体工作方式经过本人理解画出如下 11 示意图, 客 户 端 3客 户 端 1客 户 端 2服 务 器 1 服 务 器 2 图 11 腾讯 工作模式示意图 而提到大家也非常熟悉的 MSN,通过网络了解到,它是另一种工作模式,纯TCP 通信,而不像腾讯 一样 TCP 和 UDP 并用,其工作模式如下图 12 所示, 重庆理工大学毕业论文 基于 TCP/IP 协议的聊天工具的设计与开发 3 客 户 端 1 客 户 端 2服 务 器 1服 务 器 2客 户 端 3 图 12 MSN 通信模式示意图 我们会看出, MSN 这种通信其实就是 TCP 通信,而 TCP 通信就是通过服务器转发消息来实现客户 端之间通信的,当客户端 1 要和客户端 2 取得联系时,必须通过中间服务器 1 或者 2 来实现信息的转发,而服务器在这里的角色其实就是一个中转站了。 这很像我们的电话网络,中转通信模式。 课题意义 研究本课题的主要目的在于了解当前通讯软件的通信模式,并试着开发一个能够实现局域网通信的局域网即时通信软件,通过这个过程,让自己更加了解在 Java下,实现通信的具体原理和工作流程。 本系统应用了基于 Socket 局域网通信模式,它为我们提供了一种良好的、安全的通信机制,而且这个在实践中更好的诠释了 Socket 的通信的根本 原理,具有很好的学习和研究价值,可以更深入地提高本人对于 Socket 通信机制的理解和认识。 基于 Socket 的局域网通信软件在目前来说是相当广泛的,不但满足了传统的通信需求,还可以扩展其应用范围,以适应更多更大范围的需求。 所以其研究价值也是非常可观的。 课题现状及发展 课题现状 基于局域网的即时通讯工具,实际上是通讯领域中一个微缩版本的通信软件,重庆理工大学毕业论文 基于 TCP/IP 协议的聊天工具的设计与开发 4 广域网的即时通讯工具采用 TCP 或者 UDP 或者 TCP、 UDP 并用的方式来实现通讯。 目前来说,开发技术是非常成熟的了,比如腾讯 ,微软 MSN,新浪 UC 等,这些通讯工具都实现了广域网的即时通讯,但他们却也各具特色。 比如单一 TCP 通信的 MSN,在稳定传输和安全性上是可圈可点的。 而腾讯的 ,在功能上则是非常全面的,因为其客户端时间通讯采用 UDP 方式,所以通讯显得非常的流畅和方便,也大大减轻了服务器的负荷。 这些通讯软件各具特色,实现方面各有所长,但由于他们在商业运营阶段,其实现的具体内部机制,我们不得而知,但是无论他们是怎么实现的,最终也逃不过 TCP/IP, UDP 通讯的本质。 课题发展 鉴于当前这种朝气蓬勃的发展势头,在未来的即时通讯领域,不管 是局域网还是广域网,必定会更加的精彩,或许在不久的将来,通讯模式会更加的发达和方便于人类社会。 课题内容、目的及目标 课题内容 本课题主要是用 Java 下的 Socket 研究局域网通信,并利用 Socket 编写一个可以供多人通信的局域网聊天软件,此聊天软件分为服务器程序和客户端程序两个独立的工程项目。 他们各自负责相应的工作,从而实现局域网各个客户端之间的相互通讯。 课题目的和目标 本课题的目的旨在探究 TCP/UDP 通信的机制和原理,由于在大学期间并没有对TCP/UDP 通信进行系统的 专业的学习,所以,对于 TCP/UDP 通信并没有太多的了解,而当前的通信网络的广泛应用,又让研究其内在的运作模式和机制变得非常有意义的一件事情。 目前来说,通信工具是非常的成熟了,本次毕业设计做的这个关于 TCP/UDP 通信的局域网聊天系统也不可能实现相应的经济价值,旨在本人在大学的最后阶段有一个更好的收获,能够学到到很多以前没学过的新东西,吸取到更多的知识充实自己对于计算机这门学科认识和研究。 重庆理工大学毕业论文 基于 TCP/IP 协议的聊天工具的设计与开发 5 本课题的最终目标是实现局域网的即时通讯,包括点对点、点对多、多对多的相互通讯,最后以一台主机作为服务器,另外用不同的主 机作为客户端进行试验验证,能够实现相互间的文字通讯。 重庆理工大学毕业论文 基于 TCP/IP 协议的聊天工具的设计与开发 6 第二章 开发技术和平台 开发技术 Java 语言 Java 发展历程 Java 的发展历史,可以追朔到 1990 年。 当时 Sun Microsystems 公司为了发展消费类电子产品进行了一个名为 Green 的项目计划。 这个计划的负责任是 James Gosling。 起初他用具有面向对象特征的 C++语言编写嵌入式软件,可以放在面包机或 PDA( Personal Digital Assistant,个人数字 助理 )等小型电子 产品 里,以使设备变得更为 “聪明 ”,更具备人工只能。 但后来发现 C++并不适合这类任务;因为 C++常会使系统失效。 尤其在内存管理方面, C++采用直接地址访问方式 , 需要程序员记录并管理内存资源。 这造成程序员编程的极大负担,并可能产生多个 Bugs。 面包机上的程序错误可能使面包机烧坏甚至爆炸。 为了解决此类问题, Gosling 决定开发一种新的语言,并取名为 Oak。 它采用了大部分与 C++类似的语法对可能具备危险性的功能加以改进,例如将内存管理改为由语言自己进行管理,以减少程序员的负担及可能发生的错误。 Oak 是一种可移置的语言,它是一种 平台独立的语言,能够在各种芯片上执行,可以降低设备的研发成本。 Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 在全球云计算和移动互联网的产业环境下, Java 更具备了显著优势和广阔前景。 Java 特点 Java 是一种简单、安全、容易适用、面向对象、可移置、高性能、多线程的语重庆理工大学毕业论文 基于 TCP/IP 协议的聊天工具的设计与开发 7 言。 简单性 Java 语言简单高效,基本 Java 系统(编译器和解释器)所占空间很少。 由于 Java最初是为了对家用电器进行集成控制而设计的,因而具备简单明了的特征。 面向对象 面向对象技术是现代工业的一次革新,提高了软件的模块化程度和复用率,缩短了软件开发时间,降低了开发成本。 在 Java 之前虽然已经有面向对象的程序设计语言问世,但如 C++这样的开发语言并不是完全的面向对象,而是面向过程和面向对象的混合体。 Java 则是完全面向对象的程序设计语言。 安全性 Java 是可以用在网络及分布环境下的网络程序设计语言。 在网络环境下,语言的安全性变得更为重要。 Java 提供了许多安全机制来保证其网络适用上的安 全性。 平台独立 平台独立指程序不受操作平台的限制,可以应用在各种平台上。 Java 源程序经过编译后生成字节码文件,而字节码与具体的计算机无关。 只要计算机安装了能解释执行字节码的 Java 虚拟机 JVM,就可以执行字节码文件,从而实现 Java 的平台独立性。 多线程 Java 具备内建的多线程功能,可以将一个程序的不同程序段设置为不同的线程,使各线程并发、独立执行,提高系统的运行效率。 网络功能 Java 能从全球网络资源获取所需信息,如数据文件、影响文件、声音文件等,并对所得信息进行处理,所以说 Java 是 一种网络语言。 执行效率 Java 的字节码需要经过 Java 虚拟机 JVM 解释成机器码才能执行,所以速度上较慢。 但是随着 JVM 技术的进步,使得其执行速度直逼 C 与 C++。 Java 与 Inter Java 语言取得成功的领域之一就是其他语言数页代码 ==Java 一条语句。 重庆理工大学毕业论文 基于 TCP/IP 协议的聊天工具的设计与开发 8 TCP/IP(传输控制协议 /网间协议 )是 Inter 的主要协议 ,定义了计算机和外设进行通信所使用的规则 (应用层 ,传输层 ,网络层 ,链路层 ), 大多数基于 Inter 的应用程序被看作 TCP/IP 协议的上一层 . 如 : ftp, , smtp,tel 等。 IP 地址 :TCP/IP 网络中的每台计算机都有唯一的地址 IP 地址。 在 Java 中 ,有一个用来存储 Inter 地址的类叫 IAddress。 Java 提供的网络功能有三大类 : URL, Socket, Datagram: URL 是三大功能中最高级的一种 ,通过 URL Java 程序可以直接送出或读入网络上的数据。 Socket 是传统网络程序最常用的方式,可以认为 Socket 形如其名插座之意,只要有插头插上了就能够传道电流,而这个电流,我们就可以想象 成 Socket 通信中的 Stream(流 )了。 Datagram 是更低级的网络传输方式,它把数据目的地记录在包中,并把数据分成若干块记录在固定大小的数据包中,然后直接放在网络上传递到目的端,至于你到底传送成功与否,这就没它的事了。 多线程 进程是一个具体的应用程序, 而 线程是进程中的一个分支, 它是 为 了 单独完成程序中的某一项或一组功能而存在 的。 那么,我们在一个程序中要实现的功能就可以划分为多个线程来分别实现,这大大降低了一个程序的复杂性,也提高了程序的处理效率。 在本课题中引入多线程技术无疑显得是非常 必要的,那么通信过程中的许多功能就可以用多个线程来实现,从而做到分工明确,改善程序的执行效率。 TCP/UDP 协议 TCP (Transmission Control Protocol)和 UDP(User Datagram Protocol)属于 传输层 协议。 其中 TCP 提供 IP 环境下的数据 可靠传输 ,它提供的服务包括 数据流 传送、可靠性、有效流控、全双工操作和多路复用。 通过面向连接、端到端和可靠的 数据包 发送。 通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而 UDP 则不为 IP 提供可靠性、流控或差错恢复功能。 一般来说, TCP 对应的是可靠性要求高的应用,而 UDP 对应的则是 可靠性要求低、传输经济的应用。 TCP 支持的应用协议主要有: Tel、 FTP、 SMTP 等;UDP 支持的 应用层 协议主要有: NFS( 网络文件系统 )、 SNMP( 简单网络管理重庆理工大学毕业论文 基于 TCP/IP 协议的聊天工具的设计与开发 9 协议 )、 DNS(主域名称系 统)、 TFTP(通用 文件传输协议 )等。 面向连接的 TCP “面向连接 ”就是在正式通信前必须要与对方建立起连接。 比如你给别人打电话,必须等线路接通了 而且 对方拿起话筒才能相互通话。 TCP( Transmission Control Protocol, 传输控制协议 )是基于连接的协议,也就是说,在正式收发 数据前,必须和对方建立可靠的连接。 一个 TCP 连接必须要经过三次 “ 握手 ” 才能建立起来,其中的过程非常复杂。 我们来看看这三次 “ 握手 ” 的简单过程: 主机 A 向主机 B 发出连接请求数据。java基于tcp_ip协议的聊天工具的设计与开发_毕业设计论文(编辑修改稿)
相关推荐
n 必定线性无关 .同样 ,因为这些 12, , , n 非零 ,( 4)表示 12, , , n 是特征值 , 12, , , n 是相应的特征向量 .这就证明了定理中第一 ,第二和随后的第三个命题的必要性 . 最后 , 给定任意 n 个特征向量 12, , , n , 用它们作为矩阵 P 的列 ,并用相应的特征值来构造矩阵 D ,由 ( 1)
.............................. 错误 !未定义书签。 参考文献 .......................................................................................................... 44 致 谢 ......................................
系统登录界面: 登录功能: private void jButton1ActionPerformed( evt) { int i = 0。 flag0 = 1。 UserDao user = new UserDao()。 if ((().trim(), jPasswordField1 getText().trim())) { MainFrom fr = new MainFrom()。
, repaint( )方法立即被系统自动调用,而实际上 repaint()方法是自动调用 update()方法 */ 下面的方法支持基本的绘图和 画图像: void drawLine( ) void drawArc( ) void drawPolygon( ) void drawRect( ) void drawRoundRect( ) void fill3DRect( ) void
及支撑间的路程影响。 一般圆锥滚子轴承 支撑从动锥齿轮用的较多。 减小 c+d的长度,需要两轴承的圆锥滚子方向向里,这样就可以增加支撑的刚度。 为了加强从动锥齿轮支撑稳定性,则锥齿轮背面的差速器壳体的那部分须要有充足的地方, . 而且 c+d要大于等于从动锥齿轮大的一侧的分度圆直径的 70%。 dc 就可以使载荷平均的分到两轴上。 从动锥齿轮的主减速器里包含有很大的径响尺寸和主传动比, .
g module function: according to the blogger submit information that the database add modification and deletion, update the database. For front desk calls. 4. Video module function: to achieve upload