1、 毕毕 业业 论论 文文 论文题目: 即时通讯系统的设计与实现 专 业: 计算机应用技术 学 院: 计算机学院 年 级: 学习形式: 学 号: 论文作者: 指导教师: 职 称: 开开 题题 报报 告告 论文题目: 姓名:_ 学号:_ 学院:_ 开题报告正文应包含以下几方面的内容: 1.1 论文选题的目的和意义论文选题的目的和意义 近年来,随着 Internet 的飞速发展,计算机网络得到了越来越广泛的应用, 并且已经逐步走进千家万户。自迈入信息时代以来,距离已经不再是人们之间联 络沟通的障碍,也正因为如此,人们对沟通交流的需求和依赖也越来越强烈,各 行各业对信息交流的要求也越来越高。如今,通过
2、各种即时通信软件,人们已经 可以在足不出户的情况下,与远距离甚至世界各地的人进行实时的聊天交流,这 样的交流不仅满足了人们对交流沟通的需求, 同时也给人与人之间的交流带来了 极大的便捷和大量的经济节省。因此,即时通信(Instant Messaging)在人们的 生活工作和学习中得到了更广泛的应用。 目前,已经有不少即时通信软件在社会公众中流行,像 MSN,腾讯 QQ, 新浪 UC 等,都是国内人们所熟知的知名流行即时通信软件,其技术方面也都处 于国际领先水平。同时,由于即时通信软件的便利,其应用已经由最初的简单的 聊天交友得到了巨大的拓展。 适应各种场合的各式即时通信软件也开始出现在软 件市
3、场上,这就包括了一些与企业管理相关的即时通信软件,一个具有企业自己 特色的集信息管理和即时通信为一体的内部应用软件, 能够使一个企业或者团队 更像一个整体,同时也能够给企业的管理和信息交流带来极大的便利,在一定程 度上提高工作效率。 同样的,对于软件设计与开发的行业来说,过去的那种仅适用于 PC 机上的 应用程序的开发已经远远不能满足市场的多样化的需求, 网络程序的广泛应用和 广大需求使学习与掌握与网络相关的编程技术显得尤为重要。 本论文将结合一个具体的局域网即时通信系统的开发编写, 以现有的各种技 术,介绍讲解网络 IM 软件开发中的重要知识,并讨论其中关键环节的技术问题 和各种解决方案和设
4、计策略 1.2 相关技术知识简介相关技术知识简介 1.2.1 基于基于 SOCKET 的网络编程的网络编程 SOCKET 在英文中的意思是插座,在网络编程中,其实际意义可以理解为 网络通信连接的插座, 通常称之为套接字。 如果将网络连接的各终端类比为电话, 则 SOCKET 即相当于电话线插座,为各终端提供或者创建与其他终端通信连接 的桥梁或通道。所有的终端都必须接通此“插座”来完成与其他终端的连接或通 信,否则,它将独立于网络之外。 由此可以知道知道,SOCKET 是终端间建立连接的核心对象。那么,对于 一个 SOCKET 对象,它到底具备什么样的功能呢? 通常,用 WINSOCK 库来创建
5、和使用 SOCKET,运用 WINSOCK 库的基本 API,就可以实现简单的数据输入和输出(即发送数据和接受数据) 。在创建一 个 SOCKET 对象后,通过指定 IP 地址来确定该 SOCKET 与哪台机器发生交流, 通过指定机器端口号(一般为 1024 以上)确定与该机器上哪个应用程序进行交 流。在确定了交流对象后,便可以使用 SOCKET 与对象机器上的应用程序进行 数据的传输和信息的交流。在面向连接的网络通信中,还必须使用 SOCKET 进 行连接的监听和创建,只有创建了稳定的连接后,才开始进行数据的传输。 由于交互方式的不同,SOCKET 也分为两种,一种是无连接的数据报形式 的,
6、一种则是面向连接的流式套接字,这也是接下来两小节要阐述的内容。 1.2.2 UDP 协议与协议与 TCP 协议的简单介绍协议的简单介绍 UDP 协议是一个简单的面向数据报的运输层协议:进程的每个输出操作都 正好产生一个 UDP 数据报,并组装成一份待发送的 IP 数据报。这与面向流字符 的协议不同,如 TCP,应用程序产生的全体数据与真正发送的单个 IP 数据报可 能没有什么联系。 UDP 不提供可靠性: 它把应用程序传给 IP 层的数据发送出去, 但是并不保证它们能到达目的地,其过程可以比做投递信件,它只关心信件确实 投放到信箱,至于对方是否正确、按时收到信件,UDP 并不关心。 尽管 TCP 和 UDP 都使用相同的网络层(IP),TCP 却向应用层提供与 U