




免费预览已结束,剩余71页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络环境下实时通讯技术的研究与实现 第一章 绪论 网络环境下实时通讯技术的研究与实现 摘 要 随着互联网的发展,网络实时通讯软件成为大多数上网用户的一种极为常见的 互动沟通交流工具。网络实时通讯软件可以向网络用户提供开放性的实时通讯服务, 供网络用户之间进行聊天,传递消息和交流技术经验,而且现在已逐步应用于商务 领域。实时通讯软件具有良好的信息传递、消息交流功能,是工作和生活中必备的 工具。 网络实时通讯技术在网络资源利用率、通讯的及时性,快捷性,安全性方面有 明显的优势。因此,实时通讯技术蕴涵着巨大的商业和技术潜在价值。 文章首先介绍了网络实时通讯系统的背景,课题研究的主要内容及以相关技术; 接着介绍了该网络实时通讯系统的总体设计思路,对该网络实时通讯系统的各个功 能模块进行了设计;然后对每个功能模块进行了详细设计;最后对系统开发设计过 程中的问题和经验进行了总结和讨论。 网络实时通讯系统以 Java 作为开发工具完成系统的界面和实现前台操作,以 Microsoft SQL Server 2000 作为后台数据库。在系统的实现过程中,用户可以实现 的操作有新用户的注册、注册用户的登陆和在线用户间的聊天已及文件传输。系统 经调试运行能基本实现预期的目标。 关键词:计算机网络;实时通讯;服务器;客户端 网络环境下实时通讯技术的研究与实现 第一章 绪论 ABSTRACT With the development of Internet, the network instant messenger software has become a great common intercourse tool of the majority of people. The network instant messenger software can offer open chat service to the net friends to chat, to express the impressions, exchange technological experience, and now already gradually applied in the business realm. The network instant messenger software has good functions of information transmission and exchange news, so it is the indispensable tool in our daily life. The technique of network instant messenger has obvious advantages in many aspects such as network resource utilization ratio, and the instant, shortcut, security of communication, etc. So, the technique of network instant messenger contains the enormous potential value of commerce and technology. The article has introduced some backgrounds of the network instant messenger system and relevant technologies for the main content of studying in this subject at first. Then has introduced the overall design of this network instant messenger system, divided the system into each functional module and designed. Then designed in detail each functional module; Summarized and discussed the question and experience in the design process about the system finally. The network instant messenger system regard Java as developing instrument finish systematic interface and realize front desk operate, regard Microsoft SQL Server 2000 as backstage supporters database . In the course of systematic realization, operation already had registration of new user, landing of the registered user, chat and file transfer among online users which users can realize. The system is debugged and can realize the anticipated goal to operate basically. KEY WORDS computer network, instant messenger, server, client 网络环境下实时通讯技术的研究与实现 第一章 绪论 目 录 第一章 绪论 .1 1.1 计算机网络的基本概念.1 1.1.1 计算机网络简介.1 1.1.2 TCP/IP 结构模型 .1 1.2 实时通讯技术的起源和发展.2 1.2.1 实时通讯技术的起源.2 1.2.2 实时通讯技术的发展.2 1.3 实时通讯软件的功能.3 1.4 课题研究的内容及意义.3 第二章 系统概述 .5 2.1 系统需求分析.5 2.1.1 功能需求.5 2.1.2 性能需求.5 2.2 系统可行性分析.6 2.2.1 经济可行性.6 2.2.2 操作可行性.6 2.2.3 技术可行性.6 2.3 开发环境的选择和介绍.7 2.3.1 编程环境的选择.7 2.3.2 数据库的选择.7 第三章 系统总体设计 .9 3.1 系统设计思想.9 3.2 系统结构图.9 3.3 系统流程图.10 3.3.1 主流程图.10 3.3.2 系统数据流程.10 3.3.3 系统的具体功能实现的流程图.11 第四章 系统详细设计 .12 4.1 程序系统结构.12 4.1.1 功能划分.12 网络环境下实时通讯技术的研究与实现 第一章 绪论 4.2 数据需求.13 4.2.1 数据流条目.13 4.2.2 加工说明.13 4.3 系统具体功能的设计.14 4.3.1 新用户注册.14 4.3.2 用户登陆.15 4.3.3 收发信息.17 4.3.4 文件传输.18 4.4 数据库设计 .21 4.5 关键技术的分析.22 4.5.1 客户机连接与服务器的连接.22 4.5.2 用户间收发信息.22 4.5.3 用户间传输文件.23 4.5.4 数据库的操作.25 第五章 系统的调试与运行 .27 5.1 系统的调试.27 5.2 系统的使用.27 5.2.1 系统运行环境.27 5.2.2 系统的主要模块的运行结果.28 第六章 总结 .31 6.1 论文研究内容总结.31 6.2 后续研究工作展望.31 致谢 .33 参考文献 .34 附录 .35 网络环境下实时通讯技术的研究与实现 第一章 绪论 第一章 绪论 1.1 计算机网络的基本概念 1.1.1 计算机网络简介 计算机网络:将多个具有独立工作能力的计算机系统通过通信设备和线路由功 能完善的网络软件实现资源共享和数据通信的系统。根据地理分布,可分为 LAN(局域网),WAN(广域网)。 从定义中看出涉及到三个方面的问题: (1) 至少两台计算机互联。 (2) 通信设备与线路介质。 (3) 网络软件,通信协议和 NOS(Network Operating System,网络操作系统)。 而 Internet 是由一些使用公用语言互相通信的计算机连接而成的全球网络。 1.1.2 TCP/IP 结构模型 TCP/IP 结构模型: 目前使用的大多数网络通信协议的结构都是基于 OSI(Open Systems Interconnection,开放式系统互联模型)模型的。TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制和网间互连协议)结构也是基于 OSI 模型但又并 不严格遵循 OSI 模型。但当前关于如何使用分层模型来描述 TCP/IP 又没有一个统 一的协定。一般承认 TCP/IP 比 7 层 OSI 模型层次少(3 到 5 层)。这里以 4 层 TCP/IP 结构进行阐述。 TCP/IP 结构中忽略了 OSI 模型中的某些特征,只综合了部分相邻 OSI 层的特 征并分离其它各层。信息由 4 层结构中的应用层传送到物理层。当发送数据时,每 层将其从上层接收到的信息作为本层数据,并在数据前添加控制信息头,然后一起 传送到下一层。每层的接收数据过程与以上发送过程正好相反,其中在数据被传送 到上一层之前要将其控制信息头移去。 TCP/IP 4 层模型以及每层主要功能描述如下: 应用层(Application Layer) TCP/IP 组中的应用层综合了 OSI 应用层、表示层以及会话层的功能。因此, 在 TCP/IP 结构中,传输层以上的任何过程都称之为应用。在 TCP/IP 中,使用套 接字(socket)和端口描述应用程序通信路径。大多数应用层协议与一个或多个端口号 相关联。 传输层(Transport Layer) TCP/IP 结构中包含两种传输层协议。其一传输控制协议(TCP),确保信息传输 网络环境下实时通讯技术的研究与实现 第一章 绪论 过程。其二用户数据报协议(UDP,User Data Protocol),直接传输数据报,而不需要 提供端对端可靠校验。两种协议对应不同的应用具有各自功能。 网络层(Network Layer) TCP/IP 网络层中的主要协议是网际协议(IP)。所有网络层以下或以上的各层通 信在跨越 TCP/IP 协议栈时,都必须通过 IP 完成。此外,网络层还包含部分支持性 协议,实施和管理路由过程。 网络访问层(Network Access Layer) 在 TCP/IP 结构中,网络访问层由数据链路层和物理层合并而成。TCP/IP 网 络访问层并没有重新定义新标准,而是有效利用原有数据链路层和物理层标准。物 理层中规定了硬件通信属性,但它不直接作为网络层及以上层的 TCP/IP 协议的接 口。 1.2 实时通讯技术的起源和发展 1.2.1 实时通讯技术的起源 随着移动和互联网越来越深入地走进生活,人们渴望在任何时间、任何地点将 尽可能多的通讯工具融合在互联网同一个沟通环境下,实现各种通讯工具的互补和 整合。人们不再局限于单一的网上或网下的沟通,而是希望通过跨平台、多终端的 通讯技术来实现一种集声音、文字、图像的低成本高效率的通讯服务,随之也就产 生实时通讯(Instant Messenger,IM)技术,它将承担起如此责任。 实时通讯开山程序是 ICQ(I SEEK YOU)。WWW 和电子邮件是互联网最早的大 众化应用,此后兴起的网络论坛和聊天室都是网络在线交流功能的前身。上个世纪 90 年代,四位没有专家指导、也没有受过专门教育和培训的以色列籍年轻人开发出 了 ICQ,实时通讯首次出现,创造了三个月内发明因特网新技术的神话。ICQ 源自 成立于 1996 年 7 月的以色列特拉维夫的 Mirabils 公司,Mirabils 这个单词是拉丁文 神奇的意思,而 ICQ 即为英文“I SEEK YOU”的简称,言简意赅的名称使人们一下 记住了它。后来,美国在线公司买下 ICQ,三年内分两次共向其投入 4 亿多美元, 使 ICQ 技术得到进一步发展和完善。2001 年 5 月,全球 ICQ 的用户达到了 1 个亿。 如此,在接下来的几年里,实时通讯应用凭借其实时在线交互的特性迅速风靡全球。 1.2.2 实时通讯技术的发展 自 1996 年 ICQ 诞生以来,实时通信在短时间内便获得了迅速发展。在过去, 人们认为,这是一个网络寻找朋友和聊天的工具。但是,随着软件功能和应用的逐 渐丰富和完善,一个综合的桌面通信平台出现了,实时通信变成了一个地地道道的 网络环境下实时通讯技术的研究与实现 第一章 绪论 通信工具,并可能成为继电话、电子邮件之后的第三种现代通信方式。 如今,主流的实时通信软件除了典型的文本消息功能外,还辅以文件共享、视 音频通信和电子白板等功能,在个人应用和企业应用中发挥着日益重要的作用。 网络实时通讯的先驱ICQ 国产实时通讯的老大QQ 网络实时通讯的霸王MSN 搜索网站的网络实时通讯工具雅虎通 1.3 实时通讯软件的功能 实时通讯软件的功能通常有: (1)文字功能:实时通讯软件使用者要能够对所选择的通讯对象发送文字信息并 能够即刻收到反馈,这是实时通讯软件最主要的功能,也是最基本的。 (2)图形、图像功能:实时通讯软件使用者要能够通过软件界面传送图形、图像 来使通讯内容更加丰富多彩。 (3) 音频、视频功能:很多实时通讯软件具有音频甚至视频通讯功能,只要使 用者在计算机上配置适当的设备和驱动程序,就可以相互进行语音和影像通讯。这 样人们不仅可以实现相互的语音聊天通讯,甚至还可以播放音乐、电影片段给对方。 (4)在线查找、传送文件、留言、接发邮件及记录通讯信息功能,有的 IM 软件还 可以在网上发传呼、手机短信功能。 总之,优秀的实时通讯软件应该保证反应实时、通讯迅速、信息准确可靠、语 音等多媒体信号保真度高、无中断现象,其中反应及时最重要。大容量的 IM 软件 可以保证在线人气旺盛。功能较强的实时通讯软件应该具有通过服务器中转和客户 之间点对点联系两种通讯方式。 1.4 课题研究的内容及意义 随着社会信息化的飞速发展,越来越多的人使用 Internet,在网上工作、学习和 生活。网络实时通讯系统是互联网站一种极为常见的互动沟通交流服务,它将能改 善我们的工作与学习环境。网络实时通讯系统可以向网络用户提供开放性的实时通 讯服务,供网络用户之间进行聊天,传递消息和交流技术经验,而且现在已逐步应 用于商务领域。课题的实现将为计算机在工业实时监控与管理系统中的应用开辟了 新途径。因此,本课题的研究具有重要的理论意义和现实意义。本次所研制的网络 实时通讯软件研制的总目标是:开发可实际使用的聊天服务器和客户端程序。 网络环境下实时通讯技术的研究与实现 第一章 绪论 具体内容如下: (1)开发客户端程序:掌握网络应用程序开发原理和 Windows 下的网络客户端 程序开发,熟练掌握 Windows 套接字的使用,实现其基本的收发信息和文件传输功 能。 (2)开发聊天服务器程序:掌握服务器软件设计中的一些基本问题和基本算法。 (3)集成:将所开发的服务器程序和客户端程序集成实现客户间网络环境下的实 时通讯。 网络环境下实时通讯技术的研究与实现 第二章 系统概述 第二章 系统概述 2.1 系统需求分析 2.1.1 功能需求 1.客户端聊天系统: (1) 注册功能:输入用户信息,包括用户名、密码、性别、学历、爱好、邮箱 地址、个人简介。如果用户名没有重复,则把用户存入数据库,保存在服务器内。 (2) 登陆功能:输入用户名及其密码,如果用户名及密码与服务器中数据库的 用户名及密码相匹配,便能登陆到服务器。 (3) 用户列表功能:可列出当前所有在线聊天用户名,这样使得用户更加有针 对性。 (4) 聊天功能:点击在线好友,即可与该用户发送聊天信息。 (5) 传输文件功能:点击在线好友,发送传输文件请求,得到对方同意后,即 可与该用户传输文件。 (6) 断开功能:退出聊天服务器。 2.服务器管理系统: (1) 用户列表功能:显示已连接上用户名及用户数量。 (2) 接受与断开连接:接受客户端连接请求;或将某一客户断开,不让他再次 连接。 (3) 用户管理:支持客户名称列表请求,支持用户名查询;可限制用户的加入 或删除某一用户。 2.1.2 性能需求 (1) 通信时延不能大于 0.5s; (2) 通信准确率达到 100%; (3) 能抗击通信过程中的干扰; (4) 系统操作要求简单,能长时间无故障运行。 网络环境下实时通讯技术的研究与实现 第二章 系统概述 2.2 系统可行性分析 2.2.1 经济可行性 本系统作为一个毕业设计任务进行开发,并在两个月的时间内完成所有的开发 工作,在开发过程中主要用到的软硬件资源主要有:计算机一台,因特网上的资源, JCreator,Microsoft SQL Server2000,JDK。其中 JCreator,Microsoft SQL Server2000,JDK 均为到商店买光盘安装,不需要为此而有很大开销。系统最终要 运行在网上,而宿舍的局域网本身已经配有了运行该系统所需要的所有环境,也不 需要任何额外的花费。总的来说,系统开发过程以及开发完成之后的运行都不需要 多少开销,从经济角度来说,开发此系统是完全可行的。 2.2.2 操作可行性 因为本系统的执行只要通过客户端即可进行聊天,文件传输等操作,因此系统 的使用者只要有基本的使用计算机的经验,就可以胜任此系统的操作,系统不存在 操作可行性方面的问题。 2.2.3 技术可行性 系统是关于网络间实时通讯的技术的方面的研究。系统主要存在的技术点如下: 首先是网络之间的数据传输,其次是服务器数据库进行的相关操作。对于网络之间 的数据传送而言,由于采用的开发语言是 Java,所以数据在网络之间的传送可以由 Java 的数据报通信方面的技术来解决。 对于第二个问题,也即对服务器数据库的连接, Java 通过 JDBC(Java Database Connectivity Java,数据库连接)来支持数据库操作1。JDBC 是 Java 语言为了支持 SQL 功能而提供的与数据库相联的用户接口,JDBC 中包括了一组由 Java 语言书写 的接口和类,它们都是独立于特定的 DBMS,或者说它们可以和各种数据相关联。 有了 JDBC 以后,程序员可以方便地在 Java 语言中使用 SQL 语言,从而使 Java 应 用程序或 Java applet 可以实现对分布在网络上的各种关系数据库的访问。使用了 JDBC 以后,程序员可以将精力集中于上层的功能实现,而不必关心底层与具体的 DBMS 的连接和访问过程2。 Microsoft 的 ODBC(Open Data Base Connectivity,开放数据库互连)是当前与关 系型数据库连接最常用的接口。JDBC 是建立在 ODBC 的基础上的,实际上可视为 ODBD 的 Java 语言翻译形式。当然两者都是建立在 X/Open SQL CLI(Call Level Interface)的抽象定义之上的。而 JDBC 与 ODBC 相比,在使用上更为方便3。 网络环境下实时通讯技术的研究与实现 第二章 系统概述 2.3 开发环境的选择和介绍 2.3.1 编程环境的选择 实时通讯软件服务器端和客户端要根据操作系统和运行模式选择开发工具和开 发技术。而在开发此软件时用的是 C/S(Client/Server,客户端/服务器)运行模式。在 C/S 模式中,UNIX 操作系统下可选用以 C 语言、Java 等工具开发。在 Windows 操 作系统下可选用 C、VB、Delphi、Java 等工具开发。 Java 是现行最佳的网络应用开发语言。Java 的诞生,从根本上解决了 Internet 的异质,代码交换,以及网络程序的安全性等诸多问题。 首先,Java 是一种平台无关语言。Java 程序编译后, 生成字节代码(byte-code), 运行在 Java 虚机器(实际上是一个解释器)上。一个操作系统平台只要提供 Java 虚机 器,Java 程序就可以在上面运行。从理论上讲,Java 程序可以运行于所有的操作系 统平台上,从根本上解决了 Internet 的异质问题。 其次,Java 采用了可移动代码技术,在网络上不仅可以进行无格式的数据信息 交换,而且可以进行程序交换。Java 是比较纯的面向对象语言,它的绝大多数程序 实体都是对象,利用对象的封装性可以大大降低网络上程序交换的复杂性。 第三,Java 可以和 HTML(HyperText Markup Language,超级文本标识语言)无 缝的集成,把静态的超文本文件变成了可执行的应用程序,极大地增强了超文本的 可交互操作性。最后,Java 是一种更安全的语言,它消除了 C 和 C+中众多的不安 全因素,提供了诸多安全保障机制,例如:异常处理,代码检查等,比其它语言更 适合网络应用软件的开发。因此系统实现过程中选用 Java 作为开发工具4。 2.3.2 数据库的选择 本系统有些功能是在通过数据库操作,对数据库的性能要求比较高。数据库中 有些表的属性比较多,而且某些表的数据将用来检索用户的邮箱,所以要求数据库 的访问能力比较强。本系统的数据库选用 Microsoft SQL Server 2000。 Microsoft SQL Server 2000 在 Microsoft SQL Server 7.0 的基础上新增了许多功能,使用户能 更方便快捷地管理数据库开发应用程序。 Microsoft SQL Server 2000 使用了工业界最先进的数据库构架,它与 Microsoft Windows DNA 2000 平台紧密集成具有完全的 Web 功能。通过对高端硬件平台以及 最新网络和存储技术的支持,可以为最大的 Web 站点和企业级的应用提供可扩展 性和高可靠性,使用户能够在 Internet 商业领域快速创建应用,从而减少了建立电 子商务应用,商业智能数据仓库和商业线路应用所需的时间。此外,Microsoft SQL Server 2000 提供了重要的安全性方面的措施,保护防火墙内和防火墙外的数据。 Microsoft SQL Server 2000 拥有安全审计工具,并提供高级的文件加密和网络加密 网络环境下实时通讯技术的研究与实现 第二章 系统概述 功能。Microsoft SQL Server 2000 在数据库服务器自动调整和自动管理技术方面, 在数据库领域中处于领先地位,使用户可以集中精力处理商业战略上的问题,而不 是去细微调整数据库服务器的各项参数5。 网络环境下实时通讯技术的研究与实现 第三章 系统总体设计 第三章 系统总体设计 3.1 系统设计思想 根据第二章分析,本系统的主要设计思想是: (1) 分析客户端软件的实现目标及其完成的具体功能,建立一个客户端软件框 架结构,用形式语言加以描述。 (2) 分析服务器端软件的基本实现目标及其应完成的基本功能,建立服务器端 软件框架结构,用形式语言加以描述。 (3) 对服务器端的设计思想进行细化,建立服务器端软件实际模型。用伪码对 服务器端软件的具体结构加以描述。 3.2 系统结构图 根据第二章分析,本系统整体框架为图 3-1 所示: Sub Frame Sub Frame Sub Frame Main Frame Mid Level Net Level Message /连接数据库 Connection c2=DriverManager.getConnection(jdbc:odbc:javaicq, , ); String newsql=insert into cq(name,password,sex,hobit,email,info) values(?,?,?,?,?,?); /准备接受用户名,密码,性别,爱好,email,个人简介等信息 PreparedStatement prepare2=c2.prepareCall(newsql); String name=in.readLine().trim(); String password=in.readLine().trim(); String sex=in.readLine().trim(); 开始 点击注册按钮 输入用户名信息 是否存在相同用户 将用户信息存入服务器端 结束 Y N 网络环境下实时通讯技术的研究与实现 第四章 系统详细设计 String email=in.readLine().trim(); String hobit=in.readLine().trim(); int picindex=Integer.parseInt(in.readLine(); prepare2.clearParameters(); prepare2.setString(1,name); prepare2.setString(2,password); prepare2.setString(3,hobit); prepare2.setString(4,email); prepare2.setString(5,info); prepare2.setInt(6,picindex); int r3=prepare2.executeUpdate();/执行数据库添加 4.3.2 用户登陆 用户点击登陆按钮后,按照提示输入用户名及其密码,如果用户名及密码与服 务器中数据库的用户名及密码相匹配,便能登陆到服务器,如图 4-2 所示。 图 4-2 用户登陆流程图 主要程序代码如下: public void run()/线程监听函数 try while(true) String str=in.readLine();/取得输入字符串 if(str.equals(end)break;/如果是结束就关闭连接 开始 点击登陆按钮 输入用户名,密码 是否存在此用户 密码是否相同 进入程序主界面 结束 Y Y N N 网络环境下实时通讯技术的研究与实现 第四章 系统详细设计 else if(str.equals(login) /如果是登录 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/连接数据库 Connection c=DriverManager.getConnection(jdbc:odbc:javaicq, , ); String sql=select name,password from cq where yname=?; /准备从数据库选择用户名和密码 PreparedStatement prepare=c.prepareCall(sql);/设定数据库查寻条件 String yname=in.readLine(); int g=Integer.parseInt(yname);/取得输入的用户名 System.out.println(yname); String passwd=in.readLine().trim();/取得输入的密码 System.out.println(passwd); prepare.clearParameters(); prepare.setInt(1,g);/设定参数 ResultSet r=prepare.executeQuery();/执行数据库查寻 if(r.next()/以下比较输入的号码于密码是否相同 String pass=r.getString(password).trim(); System.out.println(pass); if(passwd.regionMatches(0,pass,0,pass.length() out.println(ok); /如果相同就告诉客户 ok /并且更新数据库用户为在线 /以及注册用户的 ip 地址 /*register ipaddress String setip=update cq set ip=? where yname=?; PreparedStatement prest=c.prepareCall(setip); prest.clearParameters(); prest.setString(1,socket.getInetAddress().getHostAddress(); prest.setInt(2,g); int set=prest.executeUpdate(); System.out.println(set); /*ipaddress /set status online String status=update cq set status=1 where yaname=?; PreparedStatement prest2=c.prepareCall(status); prest2.clearParameters(); 网络环境下实时通讯技术的研究与实现 第四章 系统详细设计 prest2.setInt(1,g); int set2=prest2.executeUpdate(); System.out.println(set2); /set online/否则告诉客户失败 else out.println(false);r.close();c.close(); else out.println(false); System.out.println(false); r.close(); c.close(); catch (Exception e)e.printStackTrace(); socket.close(); /end login /登录结束 4.3.3 收发信息 用户列表中列出当前所有在线聊天用户名,这样使得用户更加有针对性。点击 想要聊天的在线好友用户名,即可与该发送聊天信息。如图 4-3 所示。 图 4-3 收发信息流程图 开始 输入聊天信息 是否在线 将聊天信息发送给对方 结束 Y N 网络环境下实时通讯技术的研究与实现 第四章 系统详细设计 4.3.4 文件传输 点击想要聊天的在线好友用户名,发送文件传输请求,得到该用户同意后,即 可与该用户进行文件传输。如图 4-4 所示。 图 4-4 文件传输流程图 Java 消息类为实时通信系统中,客户端与服务器端、客户端与客户端的通信基 础类。Message 为消息类的基类, OrdinaryMsg、RegisterMsg、FinderSetMsg、FinderMsg、LoginedMsg、InformLogon Msg 为它的派生类。 Message 消息基类,包含有所有消息的类型,以及基本属性。 RegisterMsg 为注册消息类,包含有所有注册属性。 OridnaryMsg 为普通的消息类,主要用于聊天、登陆、注销等消息。 FinderMsg 为搜索请求消息类,包含有搜索类型,请求内容。 UserBasicInfor 类型的网友数组。 LoginedMsg 为返回的登陆消息类,其中包含有在线好友的列表。 InformLogonMsg 为通知在线好友的消息类,其中主要包含有当前用户的 IP 地 址 与端口6。 以下为聊天和传输文件的主要程序代码: private class MessageClient /消息的发送,包括聊天信息,文件传输的联络信息 private Message msg; private DatagramSocket socket; 开始 发送文件传输请求 是否同意 将文件发送给对方 结束 Y N 网络环境下实时通讯技术的研究与实现 第四章 系统详细设计 public MessageClient() try socket = new DatagramSocket(7000); catch(Throwable t) t.printStackTrace(); public void send(Msg2 msg) /Msg2 的发送 try /String message = msg1.getMessage(); ByteArrayOutputStream byteStream = new ByteArrayOutputStream(5000); ObjectOutputStream os = new ObjectOutputStream(new BufferedOutputStream(byteStream); os.writeObject(msg); os.flush(); byte sendBuf = byteStream.toByteArray(); DatagramPacket packet = new DatagramPacket(sendBuf,sendBuf.length, InetAddress.getByName(msg.getdNetAddress(),7002); /socket = new DatagramSocket(7000); os.close(); socket.send(packet); System.out.println(packet.getAddress().getHostAddress()+msg.getInfo(); catch(Throwable t) t.printStackTrace(); /# private class MessageServer extends Thread /消息的接收,包括聊天信息,文件传输的联络信 息 private Msg2 msg; private DatagramPacket packet; private DatagramSocket socket; private byte recvBuf = new byte5000; private ArrayList list=new ArrayList(); 网络环境下实时通讯技术的研究与实现 第四章 系统详细设计 public MessageServer()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云制造平台的协同控制策略-洞察及研究
- 保险经纪行业服务质量评价标准-洞察及研究
- 2025年智慧城市交通拥堵治理的投融资策略研究报告
- 2025年甘肃省酒泉市招聘大学生乡村医生补充考试模拟试题及答案解析
- 2025四川成都市武侯区簇锦社区卫生服务中心社会招聘编外专业技术人员4人备考考试题库附答案解析
- 2025年智慧医疗建设与医疗信息化产业战略研究报告
- 2025海南乐东黎族自治县渔政事务服务中心招聘城镇公益性(其他非盈利性劳动服务)岗位6人备考考试题库附答案解析
- 2025西安诺点印象网络科技有限公司招聘考试参考题库及答案解析
- 2025年智慧医疗平台医生资源分配与区域医疗协同研究报告
- 2025中核汇能(内蒙古)能源有限公司校园招聘备考考试试题及答案解析
- (完整版)人工智能介绍课件
- 陶瓷材料的制备课件
- 中职统计基础知识课件
- 预防校园欺凌-共创和谐校园-模拟法庭剧本
- 《人间词话》十则公开课
- 质量管理学课件第1章
- 磁刺激仪技术参数
- 通用机场建设审批程序
- 城市雕塑工程工程量清单计价定额
- 道路保通专项方案
- ansys的讲义ANSYS有限元分析培训
评论
0/150
提交评论