项目报告
局域网飞鸽传书软件的设计与实现
摘 要
网 络 通 讯在当今已经不算新鲜事物,但大多数网络通讯都需要借助
Internet 上的服务器,这就给那些具有大规模内部网络的用户造成了许多问题,
如浪费网络资源、遭遇到网络攻击、传播的病毒、破坏防御系统等等。由于互连
网上的网络通讯工具给企业内部信息交流带来了不便,所以为了方便内部网络的
用户之间的沟通,需要开发一个基于局域网的信息收发系统的即时通讯工具,实
现在内部网络中进行信息的交流。本课题设计主要针对局域网通讯而开发设计的,
采用的是 C/S 构架,类似飞鸽传书系统,来实现聊天、文件传输功能,并借助一
些网络通讯组件,成功的实现了在局域网上的即时通讯。
本论文的目标是设计一个类似飞鸽传输的局域网通信软件,并分析它在其领
域的优势。本设计以 C 编写,能在 windows 2000/net/xp 等环境下运行。设计共
分为五大模块,分别是:首先,介绍选题背景及意义和国内外研究现状;其次,
介绍 TCP/IP 点对点协议技术,C/S 架构和 SOCKET 网络编程技术;再次,对当前
局域网文件传输进行需求分析并提出解决方案;然后,根据解决方案对系统进行
设计;最后,对工作计划统计以及分析系统进行测试并得到测试结果。
Design and Implementation IP Messenger Based on
LAN
Abstract
The network communication already do not calculate the new things now, but the
majority network communication all need to be support by the server on the Internet,
this make these user have the large-scale internal network who many problems, such
as waste network resources, be attacked by network, dissemination virus, destruction
defense system and so on. Because the interconnection network communication
facilities on the interior communication brought inconveniently for the enterprise, in
order to facilitate internal communication between network user's, needs to develop
one based on the local of instant message area network information receiving and
dispatching system instant message facilities, realizes carries on the information
which network the exchange. This topic design mainly aims at the local area network
communication to develop the design, uses is the C/S skeleton,like IP Messenger, for
chat and files transmission.
LAN against the text chat, documents and folders transmission, the design of a
fake IP Messenger of LAN software, and analyze it in their areas of advantage. The
design is developed by C program it can make in the cnvironment of windows
2000/net/xp of topic selection, in the environment The design altogether divides into
five big modules, respectively is: First, introduction selected topic background and
significance and domestic and foreign research present situation; Second, introduces
the TCP/IP point to point protocol technology; C/S construction technique and sockt
network programming technology; Third, carries on the demand of the current local
area network file transfer to analyze and propose the solution; Fourth, carries on the
design according to the solution to the system; Fifth, statistic the work plan, awalys
and test the system and obtains the testnesult.
Key words: Chat;transmission; socket; C/S skeleton;IP Messenger
目 录
总页数:20 页
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 页 共 20 页
1 引言
1.1 课题背景
当时间走向 21 世纪,当今时代也由工业经济渐渐成为了知识经济、信息经
济的时代。信息的需求量的不停增加,促使了计算机通信的日新月异!虽然网络
的使用频率与使用的范围都越来越广泛,但是人们使用的网络的用途主要的还是
只有两个:(1).相互之间的沟通,(2).资源共享。
局域网作为网络的一个重要组成部分,它不但用户与外界连接的枢纽,同时
也是近距离用户之间沟通与资源共享的一个重要途径。在这种情况下,如何使局
域网内的用户便捷的勾通,以及快速的资源共享,也就成为了人们对网络研究的
重点之一。
本系统仿飞鸽传输,是一个局域网内的通迅工具,主要通过 Winsockt 完成。
它据有的功能有:
(1)局域网内用户间简单的文字聊天功能;
(2)局域网内用户间相互的文件、文件夹传输。
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 的广播发送模式,进行文字聊天和文件、
第 2 页 共 20 页
文件夹传输的设计与开发。因此,本设计首先分析该系统的相关功能,结合本设
计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,选择所熟悉
的开发工具进行本设计的开发;在设计中以需求分析为基础,写出系统开发计划、
实现流程及相关问题的实现方法;最后,在系统开发完毕后,进行调试和运行,
做好调试和运行的相关记录。
1.4 研究项目的目的以及意义
随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于
网络进行相互交流变得更加方便。聊天工具作为互联网中运用最为广泛的通信工
具之一,如今都已被广大网民接受。很多人都使用过飞鸽传书软件,飞鸽传书发
展到现在已经具有了很多功能:有文字聊天、文件、文件夹传输的基本功能,也
有密封、加锁等较为复杂的功能。本毕业设计的目的主要是为了检查使学生综合
运用以前所学知识(包括以前所学的一些关于网络、编程、信息安全等知识)的
能力,模拟局域网飞鸽传书软件,开发一个天系统软件,本毕业设计主要实现局
域网内文字聊天及文件传输等功能。
1.5 Win Socket 的寻址方式
因为 Winsock 要兼容多个协议,所以必须使用通用的寻址方式。TCP/IP 使
用地址和端口号来指定一个地址,但是其它协议也许采用不同的形式。如果
Winsock 强迫使用特定的寻址方式,添加其他协议就不大可能了。在 Winsock 中,
应用程序员通过 SOCKADDR_IN 结构来指定 IP 地址和端口号。定义如下:
Struct sockaddr_in{
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
har sin_zero[8];
};
应用程序可以使用 inet_addr 函数将一个小数点分隔的十进制 IP 地址字符
串转化成由 32 位二进制数表示的 IP 地址。inet_ntoa 函数将一个网络字节顺序
的 32 位 IP 地址转化字符串。注意:inet_addr 返回的 32 位二进制数是用网络
顺序存储的。
2 系统需求分析
2.1 系统设计目标
根据对飞鸽传输系统的调研,我认为本设计需要满足以下几个系统设计目标:
(1)实用性原则:真正为局域网的实际工作服务,按照需求的轻重缓急,合
理设计本系统。