毕业设计缩写稿

2020-03-02 19:12:58 来源:范文大全收藏下载本文

聊天及文件传输软件开发

信息102班:刘聪 指导教师:李勇 (陕西科技大学理学院 陕西 西安 710021)

摘 要: 随着计算机的普遍应用,即时聊天工具已成为人们网络交流中必不可少的通讯工具。这样在局域网内的通讯软件也就发挥了重要的作用。同时,人们对局域网内通讯的安全性、高效性等要求也越来越高。本次设计是一个类似于FeiQ的局域网内的聊天及文件传输软件。该软件采用C\\S架构,文字聊天部分采用的是UDP协议,在客户端之间点对点进行。文件发送部分采用的是TCP协议,使得通信更加高效、安全。

关键词:局域网,即时聊天,C/S,通信

Chat and Transfer Software Development ABSTRACT:With the widespread use of the computer, the instant meaging tool has become an indispensable communication tool in people\'s network communication.At the same time, people require more and more in the security and efficiency of the LAN communication.The design is a similar to the FeiQ LAN chat and file transfer software.The software adopts the C\\S architecture, thus making the communication more efficient and safe.KEY WORDS: LAN, Instant meaging, C/S, Communication

1 课题背景及意义

随着全球信息化时代的到来,信息技术飞速发展,人们在生活、办公等方面已经脱离不开计算机网络通信。现在,越来越多的企业以及事业单位都在公司内部建立了局域网,局域网起到了高效、安全通信的作用。

我在本文中将讨论一种基于Socket的局域网通信工具的设计与实现方法。基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。

2.开发环境的介绍

我所设计的是一个面向个人的局域网即时信息软件,要在短时间内开发出来并且要满足个人要求,无论是硬件还是软件都要选择合适,要求如下:开发设备应该完备;开发机器的性能必须稳定;操作系统的选择必须恬当;开发出的程序可以在尽可能多的平台上运行;要求运行机配置尽可能低档。对此,我们选择的硬件环境和软件环境如下: (1)硬件环境

开发该系统应尽可能采用高档的硬件。因此,在应用时应采用更好的配置。

处理器:Intel Pentium PIII或更高处理器。

1

内存:512MB或更高。 网络:局域网。

(2)软件环境

操作系统:Windows XP、Window Vista或Windows 7.

开发工具:Visual Studio 2008.3.需求分析及可行性研究

3.1需求分析

本项目作为大学本科毕业设计题目,从1月1号接受选题开始,在6月4号之前最终完成论文初稿。

对于局域网内的用户需要具体的数据信息来表示,具体包括用户名、用户主机名、用户ip、用户上线信息。文件数据包括文件名、发送文件路径、文件大小。

3.2 可行性研究

(1)成本可行性分析

因为本软件只做开发学习使用,所以暂且不考虑经济成本及盈利问题; (2)技术可行性分析

首先我已经搭建好开发所需要的软硬件平台,并进行了合理而完善的需求分析,做好了充分的前期准备工作,其次因为本程序的平台将基于WINDOWS,将要使用网络通信技术,而WINDOWS有完善成熟的网络通信接口,加之相类似的更大规模的INTERNET通信工具产品也已有例在先,所以这个程序的开发可行性在技术上是完全可行的。

4 相关开发技术的原理性说明

4.1 窗口与句柄

窗口是Windows应用程序中一个非常重要的元素,一个Windows应用程序至少有一个主窗口,窗口是Windows应用程序与用户进行交互的接口。

4.2 消息与消息队列

Windows程序设计是一种事件驱动方式的程序设计模式,主要基于消息。当产生了某一事件,如点击鼠标左键,此时操作系统会感知到这一事件,于是将这一事件包装成一个消息,投递到应该程序的消息队列中,然后应用程序从消息队列中取出消息进行响应。

4.3 MFC框架

构建一个基于MFC框架的程序,可以使用MFC的向导程序,但首先要明白,一个基于MFC的程序可以有几种类型:基于单文档结构的程序,基于多文档结构的程序以及基于对话框的应用程序,不同类型的程序具有不同的程序属性。使用其向导以及控件编程,使得不论是界面编写,还是程序内核设计,都更加的简单。其中有合理的消息映射机制,有方便的运行时类型识别功能,更有文档/视图结构设计,文档串行化功能等非常多的优秀功能。

2

4.4 TCP/UDP TCP/IP协议实际上就是在物理网上的一组完整的网络协议[8]。其中TCP是提供传输层服务,而IP则是提供网络层服务。

TCP是面向连接的可靠的连续的协议,UDP是面向非连接的不可靠的非连续的的协议。TCP是以数据流的方式进行发送的,UDP是以数据包的方式进行发送的。

5 软件调试分析

5.1 登录界面设计

当用户登录成功后,会弹出一个登录界面,在该界面的标题栏显示的是“陕科大刘聪聊天软件”。在下面的用户栏中有两个列表,分别是“我的好友”列表和“自己”列表。在“我的好友”列表中可以显示在线用户的信息,包括用户名和IP地址。在“自己”列表中,显示的是本机的用户名和IP地址。主界面如图5-1所示:

图5-1 主界面

5.2 聊天对话框设计

在“我的好友”列表中选择一个好友,双击后会弹出一个聊天对话框。在该聊天对话框中,有标题栏会显示“与XX对话中(IP:----)”。在输入框中用户可以输入信息,本设计支持英文输入和汉语输入。在消息广播窗口中会显示用户之间的聊天记录。聊天对话框如下图5-5所示:

图5-5 聊天对话框

6 总体设计

本软件主要功能分为两部分:聊天和文件传输。聊天采用的的是UDP传输协议。对于TCP来说,在通信之前,需要经历三步握手协议以建立连接,而建立连接的过程往往是比较耗费时间的。连接建立之后,在聊天过程中,可能经历过好长一段时间,聊天的双方才能会话一次。所以对于聊天软件来说,通常都采用基于UDP的方式来实现,这种方式的特点是不需要建立连接,也没有数据和重传机制,因此实时性较高。在每台机器的客户端登陆时发送的是上线消息广播。其它客户端收到广播后会发送应答广播,告知对应客户端“我”在线。

在服务器端,当调用accept函数时,程序就会等待,等待客户端调用connect函数发出的连接请求,然后服务器端接受该请求,于是双方建立了连接。之后,服务器端和客户端就可以利用send和recv函数进行通信了。

7 设计总结

本次设计是仿FeiQ功能设计的即时聊天及文件传输软件,该软件初步实现了聊天和文件传输这两个主要功能。本设计采用C\\S架构,即服务器端和客户端模型。在聊天部分采用的UDP编程协议,这里主要是利用了UDP编程协议简单快速的特点,但是UDP协议是不可靠的,当用户发送消息后不管另一方能不能完整的接收到。因此,可能会造成了消息的丢失,给通信造成一定的障碍。但是用户可以根据前后文来推测所丢失的信息,所以不会造成太大的损失。而在文件的传输部分则采用的是TCP编程协议,该协议是一种面向连接的、可靠的、基于IP的传输层协议。为了保证文件传输的可靠,本设计才采用了TCP协议。但是由于建立一个连接需要三次握手,而终止一个连接要经历四次握手,导致利用TC协议比利用UDP协议过程复杂而且缓慢的多。

本次设计对我来说却是一个很大的进步。首次尝试利用Visual C++编程,在前期做大量的准备工作。包括对C++语言知识的积累,对MFC的使用。此外,还要学习TCP\\UDP网络协议,了解网络编程的知识。通过本次设计增强了自己的编程能力以及自己的逻辑思维能力。

参考文献

[1]谭浩强.C++程序设计[M].北京:清华大学出版社,2005:56-88.

[2]黄维通.Visual C++面向对象与可视化程序设计[M].北京:清华大学出版社,2011:46-67. [3]Richard Stevens.TCP/IP详解[M].机械工业出版社,2000:108-120. [4]杨祥金.Windows程序设计教程[M].清华大学出版社,2007.4:23-44. [5]阮宇.Visual C++基础教程[M].北京:清华大学出版社,2005:78-89. [6]胡鸣. Windows网络编程技术[M].科学出版,2008:117-127.

造纸毕业设计缩写稿抄纸

论文缩写稿

毕业论文 缩写稿

毕业论文缩写稿

“最美医生”丛慧芳事迹材料缩写稿

淋小教学经验交流材料(缩写稿)1

写稿注意事项

运动会写稿

写稿注意事项

残联待写稿

《毕业设计缩写稿.doc》
毕业设计缩写稿
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文