局域网飞鸽传书软件的设计与实现
摘 要
网络通讯在当今已经不算新鲜事物,但大多数网络通讯都需要借助Internet上的服务器,这就给那些具有大规模内部网络的用户造成了许多问题,如浪费网络资源、遭遇到网络攻击、传播的病毒、破坏防御系统等等。由于互连网上的网络通讯工具给企业内部信息交流带来了不便,所以为了方便内部网络的用户之间的沟通,需要开发一个基于局域网的信息收发系统的即时通讯工具,实现在内部网络中进行信息的交流。本课题设计主要针对局域网通讯而开发设计的,采用的是C/S构架,类似飞鸽传书系统,来实现聊天、文件传输功能,并借助一些网络通讯组件,成功的实现了在局域网上的即时通讯。
本论文的目标是设计一个类似飞鸽传输的局域网通信软件,并分析它在其领域的优势。本设计以C编写,能在windows 2000/net/xp等环境下运行。设计共分为五大模块,分别是:首先,介绍选题背景及意义和国内外研究现状;其次,介绍TCP/IP点对点协议技术,C/S架构和SOCKET网络编程技术;再次,对当前局域网文件传输进行需求分析并提出解决方案;然后,根据解决方案对系统进行设计;最后,对工作计划统计以及分析系统进行测试并得到测试结果。
关键词:聊天;传输;socket;飞鸽传书;C/S结构
目 录
1 引言 1
1.1课题背景 1
1.2本课题主要研究背景 1
1.3本课题主要研究思路和方法 1
1.4研究项目的目的以及意义 2
1.5 WINSOCKET的寻址方式 2
2 系统需求分析 2
2.1系统设计目标 2
2.2系统总体需求分析 3
2.3组织结构的分析 3
2.3.1开发运行环境 3
2.3.2系统开发语言 4
3 理论知识 4
3.1 C/S软件架构技术 4
3.2 用户数据报协议(UDP) 4
3.3单播、广播、组播浅析 5
4 系统设计 5
4.1 文字聊天模块的整体构架 5
4.2 文件传输模块的主要流程图 6
4.3系统的主要功能模块 6
4.3.1文字聊天的主登录界面 6
4.3.2文字聊天信息的封装 9
4.3.3 聊天信息的加锁 10
4.3.4文件传输的界面 12
4.3.5用户密封或加锁传输文件 15
5 系统测试 17
5.1测试环境 17
5.2测试结果 17
结 论 17
参考文献 18
致 谢 19
声 明 20
1
1.2本课题主要研究背景
随着计算机和通讯技术的发展,计算机的网络化已经渗透到各个应用领域,尤其是以TCP/IP协议之间的网络互连发展很快,计算机应用系统的开发由传统的单机方式转向到了网络环境的开发。
大部分编程语言都提供了基于Windows Sockets网络编程接口的Win socket控件,它使开发TCP/IP通讯变得简单方便。
网络之间进行数据通讯时,使用地址来标识网络中的计算机,有了地址以后,数据才会准确地发送到地址所指向的计算机。TCP/IP协议使用IP地址为网络中计算机的标识,而且每台计算机的IP地址是唯一的,一般情况下,每台计算机运行的程序不止一个,因此要在应用程序中建立连接的话,还需要一个地址标识。
在TCP/IP协议书中使用端口(PORT)作为计算机上运行的应用程序的标识,因此TCP/IP协议中一个有效的网络地址包括IP地址和端口地址两个部分。TCP/IP协议提供了两种计算机之间的通讯方式:TCP方式和UDP方式。
TCP是一种面向连接的服务,在文件传输时会先行建立连接,通过链接提供双向、有序且无重复的数据流服务、以及流量控制、差错检测和纠错等服务,从而确保文件传输的正确性;UDP则是一种无连接的服务,它在传输文件时不会确保传输端的文件能够正确无误的传送到接收端,所以当使用UDP时,通常要自己作接收确认的工作。
1.3本课题主要研究思路和方法
本系统的开发采用基于win socket的广播发送模式,进行文字聊天和文件、文件夹传输的设计与开发。因此,本设计首先分析该系统的相关功能,结合本设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,选择所熟悉的开发工具进行本设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;最后,在系统开发完毕后,进行调试和运行,做好调试和运行的相关记录。