基于套接字局域网内文件传输软件

上传人:第*** 文档编号:58661676 上传时间:2018-10-31 格式:DOC 页数:19 大小:146KB
返回 下载 相关 举报
基于套接字局域网内文件传输软件_第1页
第1页 / 共19页
基于套接字局域网内文件传输软件_第2页
第2页 / 共19页
基于套接字局域网内文件传输软件_第3页
第3页 / 共19页
基于套接字局域网内文件传输软件_第4页
第4页 / 共19页
基于套接字局域网内文件传输软件_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于套接字局域网内文件传输软件》由会员分享,可在线阅读,更多相关《基于套接字局域网内文件传输软件(19页珍藏版)》请在金锄头文库上搜索。

1、 基于套接字的局域网内文件传输软件摘要当今世界科学技术飞速发展,尤其以计算机通信网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不睱接。在计算机与网络迅速发展的今天,借助于网络进行信息资源交流给人们带来了极大的方便。各种文件传输系统都已被广大用户接受。比如 QQ、UC、Internet 邮件等互联网中运用最为广泛的文件传输工具,但它们之间的文件传输往往对远程服务器有非常大的依赖性,没有彻底实现点对点安全的文件传输。甚至需要花费大量的金钱购买各种移动磁盘或者其他局域网内连接主机的硬件设备。而达到的效果却总是因为传输效率以及安全威胁而受到很大的限制。在这种形势下,开发一个功能简单而实用,并且具

2、有可移植性的局域网内文件传输工具势在必行,信息之间交换技术使用也越来越广泛,比如资料的共享,信息之间的交互,以及文件之间的传输。本论文设计了一个基于 linux 环境在局域网里实现文件传输的软件,linux 环境是如今很公司做软件开始所选着的环境,该软件实现了文件在局域网里的传输,方便了在局域网里内部进行交流,实现信息的同步,进一步提高工作的效率。关键词:文件传输;套接字;linux 网络编程;linux 系统Socket-based file transfer software in the LANLiangchunlong(College of Information Science an

3、d Engineering,Jishou University,Jishou,Hunan 416000)AbstractAbstractIn todays world of science and technology rapid development, particularly in the computer communications network of the Internet technology is changing, dizzying Liao chaos head Xia access. In the rapid development of todays compute

4、rs and network, by means of a network exchange of information resources has brought great convenience to the people. A variety of file transfer system have been accepted by the majority of users. The most widely used file transfer tools such as QQ, UC, Internet Mail, Internet file transfer between t

5、hem is often a very large dependence on the remote server, not the full realization of the peer-to-peer secure file transfer. Even need to spend a lot of money to buy a variety of removable disk or LAN connection to the host hardware devices. Would be achieved because the transmission efficiency, an

6、d security threats are always subject to considerable restrictions. Under such circumstances, the development of a function is simple and practical, and portability LAN file transfer tool is imperative, the information exchanged between the use of technology are increasingly being used, such as the

7、sharing of information between the information interaction, and file transmission. Designed a linux-based environment, the LAN file transfer software, linux environment is now very company to do the software starts the selected environment, the software to achieve the transmission of files in the LA

8、N to facilitate the internal LAN exchange, information synchronization, and further increase efficiencyKey words:File transfer; socket; linux network programming; the linux system 目录第一章 绪论 11.1 文件传输的应用背景与概述11.2 开发环境介绍1 . 第二章 基本原理 2.1 文件传输的原理. .2 2.2 文件传输软件的功能实现. .2 2.2.1 socket 函数介绍。 。 。 。 。 。 。2 2.

9、2.2 Socket 编程基础重要的数据结构6 2.2.3 Socket 提供的系统调用或函数的详细讲解 6 2.2.4 使用到的主要函数介绍 (bind,listen,accpet)6 2.3 软件源代码7 2.3.1 发送端源代码82.3.2 接收端源代码9 第三章 文件传输软件的使用10 31 接收端的使用 3.2发送端的使用。 。 。 3.3 测试结果。 。 。 第四章 设计总结 . . 参考文献 25第一章 绪论1.1 文件传输的应用背景与概述在日常的网络应用中,文件传输已经成为继即时通讯之后第二大的网络基础应用,而局域网里的文件发送是最方便的文件传输手段。越来越多的网民或是商业用户

10、都采用这种方式发送文件,目前许多即时通讯软件,例如 qq,msn 都局域网文件传输功能。现在在很多公司的开发环境面使用的都是基于 LINUX 内核的操作系统,很多服务器也是使用的 UNIX 的系统,该软件同样也能在 unix 环境下使用,本论文设计了一个基于 linux 环境在局域网里实现文件传输的软件,linux 环境是如今很公司做软件开始所选着的环境,该软件实现了文件在局域网里的传输,方便了在局域网里内部进行交流,实现信息的同步,进一步提高工作的效率。1.2 开发环境介绍这次软件的开发环境是红帽 5,红帽 5 是一款基于 linux 内核的操作系统,Linux 是一种自由和开放源码的类 U

11、nix 操作系统。Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于 Intel x86 系列 CPU 的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix 兼容产品。第二章 基本原理2.1 文件传输的基本原理本软

12、件使用的是 TCP/IP 协议(Transmission Control Protocol/Internet Protocol) ,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet 最基本的协议、Internet 国际互联网络的基础,由网络层的 IP 协议和传输层的 TCP 协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP 负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而 IP 是给因特网

13、的每一台电脑规定一个地址。系统的文件传输功能主要依赖于建立客户端与服务器之间点对点的的连接后实现。所以就得与 TCP/IP 协议协合。TCP/IP 协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是 Internet 国际互联网络的基础。TCP/IP 是网络中使用的基本通信协议。虽然从名字上看 TCP/IP 包括两个协议,传输控制协议(TCP)和网际协议(IP),但 TCP/IP 实际上是一组协议,只是 TCP 协议处于运输层,它能够确保文件准确的传送;而 IP 协议处于网络层,它标识了处于

14、网络中任意主机的唯一身份。TCP 协议和 IP 协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP 是 Internet 协议族,而不单单是 TCP 和 IP,采用 TCP/IP 详解的原因:第一,局域网内主机之间的是依靠 IP 地址进行标识。本设计要实现文件及文件夹的传输就需要以 IP 地址为传送基础进行;第二,新用户上线后需要向局域网内所有用户广播自己的主机信息使网内主机得到本机的 IP 地址等。需要用到与 TCP/IP 相对的 UDP 协议。2.2 文件传输软件功能的实现该软件是基于套接字实现局域网的内部两台机器之间的通信,利用 socket 函数建立连接,通过 socket

15、 提供的系统调用完成文件传输功能。具体分析如下:假设由 A 向 B 传输文件 test,A 机器要做的准备工作有:A 首先得准备好传输给 B 的我文件,然后利用 socket 与 B 建立通信,然后用 open 函数读取 test 的内容,将test 的内容写到一个 buffer 中,然后把利用 read 函数通过 socket 将 test 内容传送到 B 机器。B 机器的准备工作有,建立一个 socket,监听来自 A 的请求,同时建立一个 buffer用来存储来自 A 机器的信息,然后利用 open 函数,把来自 A 机器的内容存储在一个文件中,完成上述操作就完成了由 A 到 B 的文件传输。发送端/接收端模式:socket() 获得一个 socket 文件描述符Bind() 将指定 socket 绑定到某端口Connect() 连接到远程某个端口listen() 侦听等待远程连接accept() 接受了一个远程连接send(),recv() 发送或接收数据(TCP)sendto(),recvfrom()发送或接收数据(UDP)close() 关闭 socket 描述符inet_addr() 将 IP 地址字符串转换成网络字节序的 4 字节地址 2.2.1 socket 函数介绍创建一个套接口,af:一个地址描述。目前仅支持 AF_INET 格式,也就是说ARPA In

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号