现在市场上的主流即时通信软件,如QQ、MSN等大都针对个人通信,处于开放网络环境下,其通信对象和内容不可控制,使得即时通信缺乏安全性。而在企业办公活动中,对信息的保密性要求越来越高。此外,使用上述软件需要登录Internet,无法避免来自公众网络的信息干扰。即时通信在校园中可以用于公共信息的发布、信息资源的上传下载等。同样,它也要求相对安全的网络环境,不希望受到来自外网的信息侵扰。基于以上问题,开发一款基于局域网的,拥有文字聊天、文件传输、语音传输等功能的即时通信软件将契合市场的需求。
1.3 发展现状
1.4 论文结构
论文共分五个部分。
第一章 主要介绍本课题的研究背景、研究目的和意义及其发展现状。
第二章 主要介绍TCP/IP协议、Winsock技术、客户机/服务器模型。
第三章 主要进行软件需求分析、开发可行性分析,阐述了软件性能要求以及系统开发环境。
第四章 主要介绍了即时通信系统的总体设计、功能描述以及服务器端和客户端的工作流程。
第五章 详细介绍该即时通信软件各功能模块的设计方法和实现过程。
2 网络编程技术的研究
2.1 TCP/IP协议
TCP/IP是国际互联网所采用进行网际互连的通信协议。IP互连协议(Internet Protocol),负责主机之间的数据传输。TCP传输控制协议(Transmission Control Protocol)[8],负责在应用程序之间传递数据。实际所称的TCP/IP协议包括了在国际互联网上应用的一组协议,也称互联网协议组。这个协议组包括几种工作在不同层次上的网络协议,UDP用户数据报协议(User Datagram Protocol),提供给用户进程的无连接协议,也负责在应用程序之间无连接传递数据,但不执行正确性检查。
TCP/IP协议的核心是传输层协议(TCP、UDP)、网络层协议(IP)和物理接口层,这三层通常在操作系统的内核中实现。TCP/IP网络环境下的应用程序设计是通过网络系统编程界面Socket实现的,Socket提供应用程序与系统内核之间的网络编程接口。协议可以是可靠的或不可靠的。可靠的协议即指当数据通过协议传递时,协议保证数据正确传输。可靠传输包括两个特征。一:协议在通信应用程序之间互相交换确认信息以保证数据正确传送。也就是说,程序每次发送一个报文时,都期望对方发送一个确认信息。如果发送程序没有收到这样一个确认信息,程序将自动重新发送此报文,直到得到应答信息为止。二:可靠协议在每次传输时都包含一个或更多的校验码(CRC) 以保证传输的数据有效。接收计算机重新计算校验码,与收到的校验码进行比较。如果不匹配,就表明在传输过程中发生了错误。
总而言之,传输控制协议TCP是一个使用校验码、确认信息以及其它可靠数据传输技术的可靠协议。相比之下,不可靠协议不能确保数据正确传输,并且在传输失败后不会通知发送方应用程序。
2.2 Winsock技术
Winsock规范定义了应用程序开发者能使用,并且网络软件供应商能实现的一套库函数调用和相关语义。此外,规范还定义了如何使用API与Internet 协议簇[9]连接。所有的Winsock实现都支持两种类型的套接字,数据报套接字和流式套接字。由于两种套接字所连接的协议不同,其使用方法和相应的程序设计模型也是不同的[10]。在网络通信过程中网络拥挤或发送数据量过大造成数据无法在短时间内完成传送,接收数据的函数因此不能返回,这就造成了阻塞现象。Winsock提供了两种方式来对有可能阻塞的函数进行处理——阻塞和非阻塞方式。在阻塞方式下,收发数据的函数在被调用后一直要到传送完毕或者出错才能返回;在阻塞期间,除了等待网络操作的完成外不能进行任何操作。对于非阻塞方式,函数被调用后立即返回。完成网络操作传送后,Winsock发送一个消息给应用程序,通知操作完成,此时可以根据发送的消息传出的参数判断操作是否正常。文献综述 基于TCP协议的局域网即时通信技术的研究(3):http://www.751com.cn/zidonghua/lunwen_70446.html