文件传输与聊天系统设计论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 前言

1.1 文件传输与聊天系统的开发背景及选题意义

互联网的普及和发展为人们的沟通提供了多种手段,近年来流行的即时通信是继电子邮件之后的又一种主流通信方式。

以色列Mirablils公司1996年11月推出了世界上第一个即时通信软件,即后来风靡全球的"网络寻呼机ICQ",宣告了"即时通信"这一概念的诞生。

即时通信系统利用服务器上的用户注册信息和联机用户建立起虚拟社区,服务器为社区成员提供状态信息和联系方式,以便用户之间互相通信,用户使用特定的即时通信客户端登录到服务器,找到他想联系的人进行交流。

在ICQ取得巨大成功之后,许多公司纷纷效仿,如美国AOL公司的Instant Messenger, Yahoo公司的Yahoo Messenger等。有调查资料甚至列出了国外多达18种的即时通信软件。在我国,深圳腾讯公司1999年2月推出了腾讯QQ。目前国内数十家公司拥有自主知识产权的即时通信产品。

ICQ公司号称建立了世界上最大的网络用户群,拥有12亿注册用户遍布全球。而腾讯公司则建立了中国最大的互联网注册用户群。

在技术层面上,即时通信系统也从最早的专用即时通信工具发展到了最新的XML网站集成服务。更有甚者,美国微软公司把即时通信工具MSN Messenger捆绑在操作系统上随Windows2000等产品发行。

短短几年间,即时通信系统迅猛发展,商业产品层出不穷,用户遍布世界各地,技术日新月异。

即时通信工具凭借实时、有效的沟通功能,特别是凭借其对虚拟网络社区的建设,赢得了广大互联网用户的喜爱。目前,它又通过集成其他媒体、拓展应用模式等方式继续发展壮大,进军电子商务、计算机协同工作等更广阔的天地。

本设计通过实际动手,用VC实现简单的即时通信系统,达到熟悉即时通信软件的应用环境及背景,熟悉即时通信软件的常用开发技术的目的。

本设计将最主要研究在这类即时通讯软件的开发中是如何运用SOCKET套接字编程技术来实现通讯交流。

本设计按照软件工程的思想从需求分析着手,进行总体设计,详细设计,编码及调试等步骤。其中通信部分软件的设计与开发是本设计的重点。本设计采用了CS体系结构和P2P方式通信的思想进行软件总体设计;撰写用以保证通信安全的

密码算法,设计相关的密钥管理方案。

1.2 文件传输与聊天系统的发展现状

现在国内面向个人的即时通信产品主要有腾讯QQ、微软MSN、网易泡泡、ICQ、雅虎通以及发展势头正猛的TOM-skype等。面向企业用户的即时通信产品比较多,但除了腾讯、微软等少数运营商用户比较多以外,其他产品推出时间都很短,用户极少。

虽然即时通信业务已日益成熟,但目前各类即时通信软件及服务都存在不少缺陷,需要改进:

(1)安全性问题。目前,大多数即时通信系统的安全性较差,极易受到病毒攻击。QQ、MSN就相继遭受过病毒的侵袭以及由网络故障带来的稳定性问题。即时通信要想进一步发展,首先要解决的就是安全性问题。

(2)互联互通问题。受多种因素制约,各即时通信工具间的互联互通问题至今未解决。随着即时通信企业用户规模的进一步扩大,如何将不同的即时通信工具实现互联,以实现跨不同即时通信系统的即时通信就成了不可回避的话题。

(3)差异化问题。市场上的几大即时通信工具,它们在服务功能、市场定位和目标市场选择上都基本雷同,缺乏特色。即时通信如果继续如此近乎无差异化地发展下去,最后唯一的结果就是竞争日益激烈,不利于即时通信的发展。

1.3 本论文的组织结构

第1章是前言,主要介绍文件传输与聊天系统的背景、选题的意义以及本论文的组织结构。第2章是文件传输与聊天系统开发的技术基础,主要介绍开发即时通信软件的一些基本技术,网络开发的背景知识以及SOCKET API和MFC SOCKET 编程的基础。第3章和第4章是文件传输与聊天系统系统分析及网络设计,主要详细的介绍开发即时通信软件网络设计的全过程,包括消息格式的设计,应用层协议的分析,以及相关网络通信类的描述,是本论文的重点。第5章是文件传输与聊天系统网络设计的结果分析,主要总结出本论文设计的结果并进行分析。最后的部分是结论、参考文献、致谢以及附录。

2 文件传输与聊天系统开发的技术基础

2.1 网络协议简介

2.1.1 TCP/IP网络层次模型

当谈到TCP/IP模型的时候,不得不首先介绍OSI层次模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,而在现实网络世界里,TCP/IP协议栈获得了更为广泛的应用。

OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织(International Standard Organization,ISO)提出的一个网络系统互连模型。OSI模型从上到下分为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

TCP/IP参考模型分为四个层次:应用层、传输层、网络互连层和主机到网络层(数据链路层)。在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。很多高级应用协议都是在这个层次实现的,在基于TCP 协议中,比如文件传输协议FTP(File Transfer Protocol)、简单邮件传输协议SMTP(Simpel Mail Translate Protocol)、超文本链接协议HTTP(Hyper Text Transfer Protocol);基于UDP协议中,比如域名系统DNS(Demain Name System),简单文件传输协议TFTP(Trivial File Transfer Protocol)等。

2.1.2 TCP和UDP协议基础

尽管TCP和UDP都使用相同的网络层(IP)且都工作在传输层,TCP却向应用层提供与UDP完全不同的服务。TCP协议提供了一种面向连接的、可靠的字节流服务。

面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先是拨号振铃,等待对方接电话后,然后再进行说话交流。只有当建立好TCP连接后,双方才可以进行通信。

与TCP不同,UDP是一种简单的无连接的面向数据报的传输层协议,它是不可靠的,它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地,使用UDP协议的场合与TCP是不一样的,或许正因为它的无连接性使得UDP

相关文档
最新文档