当前位置:文档之家› 基于socket的局域网聊天程序的设计与实现

基于socket的局域网聊天程序的设计与实现

本科生毕业论文(设计)题目基于socket的局域网聊天程序的设计与实现学院软件学院专业软件工程学生姓名曾伟学号0643111112年级2006指导教师舒莉教务处制表二Ο一Ο年五月二十日基于socket的局域网聊天程序的设计与实现软件工程学生曾伟指导老师舒莉[摘要]目前即时通讯软件在平时的生活中有着十分广泛的应用,但是对绝大部分的软件来说,都必须得应用在互联网上,必须在一个Internel环境下才能使用。

有的时候单位内部的员工,同学,可能没有互联网环境或者其他的原因希望不用上Internet就可以进行通讯,这样开发局域网通讯程序就有了必要性。

本文提出了局域网通讯软件的需求,并详细对网络协议TCP/IP协议族进行了介绍和研究,如TCP,UDP,广播,IP等相关的技术。

并对网络通讯原理进行了说明,在此基础上利用Socket网络编程实现了一种基于windows平台的局域网聊天程序。

程序采用了常用的P2P,C/S模型来实现,并整合了即时通信中的文本信息,文件传输,语音,广播,黑名单功能。

该软件采用多线程技术支持多用户操作,能够帮助企业在局域网内搭建起自己的聊天系统。

避免了必须的经过互联网的过程。

经过测试,程序能够有效达到基本的预期要求。

[关键词]局域网聊天程序;socket编程;TCP/IP;网络编程1The Design and Implementation of a LAN Chat ApplicationBased on SocketSoftware EngineeringStudent:Z eng Wei Adviser:Shu LiAbstract]]Instant messaging software in our daily lives has a very wide range of[Abstractapplications,However,most of the softwares must be used in the Internet,and it must be usedin a Internel environment.Sometimes Internal staff,students,may not have the Internetenvironment or other reasons do not wish to be able to communicate on the Internet,Thisdevelopment will have a need for LAN communication program.Therefore,this paper presentsthe needs of local area network communication software,And details of the network protocolTCP/IP protocol suite are introduced and research such as TCP,UDP,broadcast,IP and otherrelated technologies.and network communication theory is discussed.Based on this condition Iuse of Socket Network programming based on windows platform to develop a LAN chatapplication.The application uses conventional C/S,P2P model to achieve,and integrated in thetext message real-time communication,file transfer,voice,broadcasting,blacklist functions.The software supports multi-threading multi-user operation,Can help companies set up in theLAN from their own chat system,Avoid the need of the process through the Internet.Aftertesting,the program can effectively meet the basic expectations.[Key WordsWords]]LAN chat application;socket programming;TCP/IP;network programming2目录1绪论 (1)1.1论文背景及研究意义 (1)1.2国内外研究现状 (1)1.3论文的主要工作 (2)1.4论文内容安排 (2)2基础技术研究 (3)2.1TCP/IP协议研究 (3)2.1.1TCP/IP简介 (3)2.1.2IP:网际协议 (4)2.1.3UDP:用户数据报协议 (4)2.1.4广播 (5)2.1.5TCP:传输控制协议 (5)2.1.6TCP连接建立与终止 (5)2.2局域网聊天系统 (7)2.3S OCKET通信技术 (7)2.3.1Windows Socket规范 (7)2.3.2Socket网络编程原理 (8)2.3.3C/S模型介绍 (9)2.3.4P2P模型介绍 (10)3系统需求分析与概要设计 (11)3.1系统需求分析 (11)3.2系统整体框架 (11)3.2.1系统整体模块图 (11)3.2.2各模块简述 (12)3.3系统开发环境 (13)4系统详细设计与实现 (14)4.1局域网聊天系统的设计 (14)4.1.1部署模块 (14)4.1.2Server模块 (17)4.1.3Client模块 (19)4.1.4文件传输模块 (21)4.1.5语音模块 (23)4.1.6整体构架类图 (25)14.2系统运行界面 (26)4.2.1系统主界面 (26)4.2.2发送广播 (26)4.2.3请求连接和接受界面 (27)4.2.4聊天界面 (28)4.2.5文件传输界面 (29)4.2.6语音功能界面 (30)5系统测试 (30)5.1测试 (30)5.2本章小结 (32)6小结 (33)6.1工作总结 (33)6.2展望 (33)参考文献 (34)声明 (35)致谢 (36)附录:翻译(原文和译文) (37)21绪论1.1论文背景及研究意义自20世纪90年代以来,以因特网(Internet)为代表的计算机网络得到了飞速的发展,已从最初的教育科研网络逐步发展成为商业网络,并已成为仅次于全球电话网的世界第二]1[大网络。

我们所了解的,作为全世界应用最为广泛的网络,互联网上已开发出来的协议都具有极大的开放性,能使不在同一地方的计算机进行连接,直到目前,网络应用不断地发展,即时聊天软件提供了一种方便快捷的通信方式受到广大网民的喜爱,目前已有许多类似的软件,例如现在很流行MSN,但通信时还得通过互联网和服务器,如果没有互联网环境,就不能运行。

这样就会带来极大的不便,而且还会存在性能,安全性等许多方面的问题,并且还容易泄漏一些个人隐私。

所以针对以上的这些情况,就需要设计一款专门用于局域网内部的聊天程序。

此软件可以在局域网上实现快速的网上通信,十分地方便实用。

服务端也是整合在了系统中运行在局域网里的本地PC机上,这样就方便了管理和安全性,也可以大大节省成本,而且实现简单。

此外,此软件适用于基于windows平台的局域网,可以大量的推广使用。

1.2国内外研究现状目前计算机的型号各不相同,而且也是来自不同的厂家,运行的时候采用不同的操作系统,为了解决这一问题,就有了TCP/IP协议,TCP/IP协议族允许它们互相进行通信。

TCP/IP起源于六十年代末美国政府资助的一个分组交换网络研究项目,到90年代TCP/IP 已逐步发展成熟,并迅速成为了PC机之间最常应用的组网形式。

而且它是一个开放的系统,因为协议族的定义和其多种实现都可以公开地得到,且都有一套既定的标准。

它成为因特网(Internet)的基础,该广域网(WAN)已包含非常多的遍布世界各地的计算机。

]2[以windows系统平台为例,在其下的不同类型的网络编程接口中,Windows Sockets方便有效,越来越得到广大用户的喜爱,这是因为Windows Sockets网络编程规范是开源的并且支持多种协议的Windows平台下的网络编程接口。

从最初的1.0版到2.0.8版,经过不断完善,并在像Intel等许多国际大公司的全力支持下,已成为Windows网络编程的事实]3[上的标准。

随着互联网技术和计算机技术的飞速发展,即时通讯已成为人们交流的一种重要的方式,与E-mail、电话相比,其更具有实时性和有效性。

11.3论文的主要工作本文实现了基于TCP/IP的通信模型,结合socket编程实现了一个局域网聊天程序,并进行了测试。

本论文所做的主要工作有:1)对TCP/IP协议族进行了详细的原理介绍和研究;2)研究socket网络编程怎么对协议进行实现;3)在局域网windows平台搭建软件环境,并模拟每个功能的实现;4)在局域网环境中实现和测试该软件。

1.4论文内容安排论文的主要内容安排如下:第1章:绪论。

主要介绍了本论文的研究背景并对国内外的研究状况和论文的主要工作进行了大概的阐述;第2章:基础技术研究。

主要对TCP/IP协议,socket及相关技术的研究的介绍,详细介绍相关的算法和模型;第3章:系统需求分析和概要设计。

首先做了系统需求分析,分析了系统需要完成的主要功能并介绍了整个系统的总体设计,简述了各模块的功能;第4章:系统的详细设计和实现。

介绍了整个系统的总体设计,给出程序的流程图,并对系统的各个模块进行了详细的讲解;第5章:系统测试。

对系统进行测试,并对测试结果进行分析;第6章:小结。

本文对全文工作进行总结,指出了还需改进的地方,并对未来进行了展望。

22基础技术研究2.1TCP/IP协议研究2.1.1TCP/IP简介首先网络协议一般是通过分不同的level进行开发的,每一层都有自己的通信功能。

对于某一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。

TCP/IP通常被认]2[为是一个四层协议系统,如图2-1所示。

图2-1TCP/IP协议族中不同层次的协议]2[如图所示,每个level都有不同工作:1)链路层,也称为数据链路层或网络接口层,通常包括PC机自身的网络接口卡和本机操作系统中的设备驱动程序,用来处理相关的物理接口。

相关主题