文件传输协议范例4篇

网友 分享 时间:

【导言】此例“文件传输协议范例4篇”的文书资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!

文件传输协议范文【第一篇】

关键词:TCP协议;Winsock控件;网络编程;

文件传输

一、Winsock控件基础

Winsock即Windows Sockets规范的简称,是目前最流行的网络通信应用程序接口之一。所谓Socket,通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过“套接字”向网络发出请求或者应答网络请求。Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递。Winsock控件可以与远程计算机建立连接,并通过用户数据报协议UDP或者传输控制协议TCP进行数据交换,这两种协议都可以用来创建客户与服务器应用程序。与Timer控件和CommandDialog控件类似,Winsock控件在运行时是不可见的。在使用Winsock控件时,首先需要考虑使用什么协议。可以使用的协议包括UDP和TCP。两种协议之间的重要区别在于它们的连接状态:TCP协议控件是基于连接的协议,可以将它同电话系统相比。在开始数据传输之前,用户必须先建立连接。UDP协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。到底选择哪一种协议通常是由需要创建的应用程序决定的。本文以TCP为例介绍文件传输。

TCP协议的全名为“传输控制协议(transfer control protocol)”,这是一种在Internet上使用的 主要协议。因此,当您使用TCP协议连接两个网络上的设备时,将可以在它们之间交换希望交换的数据。

同时,如果您开发的应用程序属于主从式应用架构应用系统时,将必须要知道应用系统主机的ip地址(利用RemoteHost属于取得)以及连接端口号(利用remoteport属于取得)。在这些数据完全备齐之后,您才可以进行进一步的调用、连接。

因此,如果正在建立主机端应用程序时,必须指定本机,必须指定本机(执行应用程序所在的计算机)所用的连接端口号(localport属于),接着将Winsock控件设置为“监听(listen)”,即可等候远程客户端进行调用与连接。因此,当主机端接收到客户端调用并且要求连接的信息时,将会触发“要求连接()”的事件,接着进行标准“允许”或是“拒绝”的程序。

一旦主机端与客户端连接完成之后,您将可以开始使用“传送数据(senddata)”方法,将数据传送给对方,并且利用“传送完成(sendcomplete)”事件,来检测数据是否传送完毕。同时,在数据传达对方的计算机时,将会触发对方计算的“接收数据(dataarrival)”事件。此时,您可以使用“取得数据(getdata)”方法,来去出这些接收到的数据。

二、Winsock控件工作原理

Winsock控件是基于Socket规范创建的,所以其通信的实质是对Socket接口进行数据的读写操作。如果两个应用程序需要通信,它们可以通过使用Socket类来建立套接字连接,可以将这个过程想象为一次电话呼叫过程:呼叫者通过拨号与被呼叫者连接,当电话接通时,双方都可以自由通话了,只不过这里的呼叫者被称为“客户”,被呼叫者则称为“服务器”,而号码则为“IP地址+端口”,但在建立连接之前,必须由“客户”发出呼叫,且此时的“服务器”正在监听。因此,基于TCP/IP协议的通信,需要分别建立客户端应用程序和服务器端应用程序。

三、基本实现方法

客户端要与服务器端进行通信,首先,必须知道服务器端的域名或IP地址(RemoteHost属性),就像要和某人打电话前,必须知道对方的电话号码;其次,还必须和服务器端约定相同的端口(RemotePort属性),用于数据的输入和输出;最后,调用Connect方法与服务器端建立连接。

四、实例实现

(一)实现原理

本文将实现的文件传输只有一个发送方和一个接收方,这是最基本的文件传输方式,运用的原理也比较简单:发送方先获取待传输文件的基本信息,主要是文件名及文件长度;然后,将其发送给接收方;接着,建立和文件一样大小的数据缓冲区,并将文件读入;最后,将数据缓冲区中的数据发送给接收方。与此同时,当接收方接收到文件名和文件长度之后,就为其创建新的文件和数据缓冲区;然后,接收传输的文件数据,并将其放在数据缓冲区中;最后,依次将数据缓冲区的数据写入新创建的文件中。这样便完成了不同计算机之间的文件传输。

(二)服务器端主程序主要代码

'发送文件名和文件长度代码:

filename

filelength

'发送文件的内容

Open filepath For Binary As #1'设置数据缓冲区

ReDim data(filelength)

For j = 1 To filelength

Get #1, j, data(j)

Next

send = filelength

data

Close #1

End Sub

"客户端请求连接"事件代码:

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

If 0 Then

End If

requestID '接受客户请求

End Sub

(三)客户端主程序主要代码代码

"连接"按钮事件的代码:

Private Sub connect_Click()

= sckTCPProtocol'以TCP方式进行通信

'设置远程服务器IP地址,为方便调试笔者使用的是自身的IP地址

=

'设置远程服务器通信程序端口号,与服务器端相同

= Val

'与服务器端建立连接

End Sub

"数据到达"事件的代码:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

'状态栏显示提示文字

= "正在接收服务器发送的数据。"

'先接收文件名和文件的长度

If flag = True Then

filename, vbString, bytesTotal - 4

filelength, vbLong

'建立文件

Open filename For Binary As #1

flag = False

Else

'设置缓冲区

ReDim data(bytesTotal)

'接收数据并写入文件

data, vbArray + vbByte

For j = received + 1 To received + bytesTotal

Put #1, j, data(j - received - 1)

Next

'更新接收到的数据

received = received + bytesTotal

= Int((received / filelength) * 100)

If >= 100 Then Close #1

End If

End Sub

从以上的实例中,基本了解了有关Winsock控件的使用方法和文件传输的过程。然而,当需要传送的数据比较大时,就不能像以上介绍的那样,直接将整个文件放入数据缓冲区中了,我们的内存是无法忍受用一个几百MB甚至上GB的空间去存储那些临时数据的。显然,这种做法已远不能满足我们的需求,这时可以将文件按照一定的大小,分成若干个数据包。首先,设置数据包的大小,根据文件的基本信息,计算出总共需要的数据包数;然后,依次读取同数据包一样大小的数据到数据缓冲区中;接着,将数据缓冲区中的数据,发送到指定的计算机上;同时在另一端,建立一个数据缓冲区,缓冲区的大小要根据接收到的数据来确定,依次接收客户端传输过来的数据包,并将数据缓冲区的数据写入相应的文件中,这样就很容易实现大文件的传输了。

五、小结

本文通过在VB中使用Winsock控件,实现网络之间的文件传输,更进一步理解了其工作原理。虽然本文重点介绍的是TCP协议的文件传输,但是UDP协议的文件传输实现与TCP是相似的。本文介绍的Winsock工作原理、实现方法、实例的展现还是有普遍的适用性的,能在一定的程度上有助于解决普遍的问题。

参考文献:

[1]黄玲玲,杨剀,王颖。在VB中使用Winsock控件实现局域网通信[J].信息技术,2005,6

[2]王晓平,钟军。VisualBasie网络通信协议分析与应用实现。2003

文件传输协议【第二篇】

关键词流媒体 启动延时 RTP

自互联网产生以来,受网络带宽的限制,互联网上的信息都以文字、图片等静态数据为主,而音频、视频数据则难以在网上。随着ADSL、视迅宽带、FDDI网的出现,网络带宽得到很大的改善,可以达到100M以上的传输速率,但仍无法满足高质量的多媒体信息传输的需要,这就要从数据的传输方式上着手来解决问题。由此,流媒体技

术应运而生。

一、流媒体技术概述

流媒体(Streaming)技术是指在发送端和接收端之间以独立于网络负载的以给定速率传输音频、视频信息的一种传输技术。流媒体具有隐含的时间维、传输的实时性和等时性、高吞吐量等特点。目前因特网由于存在带宽不足、服务质量控制机制较弱等局限性,难以满足流媒体的实时性要求,为此因特网工程任务组(IETF)制定了一系列支持流媒体实时传输和服务质量控制的协议,如 RTP、RSVP、RTCP等。其中,RTP是所有这些协议的基础。在网络上传输音频或视频等多媒体信息,目前主要有下载回放和流式传输两种方案。下载回放方式时间长、占的内存多,要求用户等到整个文件全部下载完毕才能回放。流式传输中声音、影像等通过网络向用户计算机进行连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十几秒的启动延时即可进行观看。

流媒体技术是一种使用流式传输连续的时基媒体的技术。流式传输方式是将视频、音频等其他媒体压缩为一个个压缩包,由视频服务器向用户计算机连续、实时传送,只需要在用户端缓存足够可播放的视频容量就可以开始播放。

二、流媒体系统的组成

1、编码工具。即用于创建、捕捉和编辑多媒体数据,形成流媒体格式。利用媒体采集设备进行流媒体的制作。它包括了一系列的工具,从独立的视频、声音、图片、文字组合到制作丰富的流媒体。这些工具产生的流媒体文件可以存储为固定的格式,供服务器使用。

2、流媒体数据。即媒体信息的载体。常用流媒体数据格式有。ASF、.RM等。

3、服务器。即存放媒体数据。由于要存储大容量的影视资料,因此该系统必须配备大容量的磁盘阵列,具有高性能的数据读写能力,可以高速传输外界请求数据并具有高度的可扩展性、兼容性,支持标准的接口。这种系统配置能满足上千小时的视频数据存储,实现片源的海量存储。

4、网络。即适合多媒体传输协议甚至是实时传输协议的网络。流媒体技术是随着互联网络技术的发展而发展起来,它在现有互联网络的基础上增加了多媒体服务平台。

5、播放器。即供用户欣赏网上媒体的软件。流式媒体系纺支持实时音频和视频直播和点播,可以嵌入到流行的浏览器中,可播放多种流行的媒体格式,支持流媒体中的多种媒体形式,如文本、图片、Web页面、音频和视频等集成表现形式。在带宽充裕时,流式媒体播放器可以自动侦测视频服务器的连接状态,选用更适合的视频以获得更好的效果。目前应用最多的播放器有美国Real Networks公司的Real Player、美国微软公司的Media Player、美国苹果公司的Quicktime三种产品。

目前,Real System 被认为是在窄带网上最优秀的流媒体传输系统,其允许的带宽限制从的拨号上网到10M 的局域网,允许点播的人数从 100 流到 1000 流甚至无限流。Real System 系统由三部分组成。一是媒体内容制作工具Real Producer。主要是用于压缩制作多媒体内容文件,实时压制现场信号并传送给Real Server进行现场直播;也可以把其他音频、视频和动画等多媒体文件格式转换成Real Server支持并进行流媒体广播的 Real格式。二是服务器引擎 Real Server。它是目前国际上最强力的因特网和Intranet上的流传播服务引擎,利用该服务引擎用户可以在客户端无须等待数据全部下载完毕即可实时收看直播节目。三是客户端播放软件 Real Player。用来向服务器发出请求,接收并回放从 Real Server传送的媒体节目。

三、流式传输协议

流媒体协议是流媒体技术的一个重要组成部分,也是基础组成部分。因特网工程任务组的主要工作是设计各种协议来规范与发展世界标准化组织,现已设计出几种支持流媒体的传输协议。

1、RSVP(资源预留协议)。该协议促使流数据的接收者主动请求数据流路径上的路由器,并为该数据流保留一定的资源(即带宽),从而保证一定的服务质量。RSVP是一个在IP上承载的信令协议,它允许路由器网络任何一端上终端系统或主机在彼此之间建立保留带宽路径,为网络上的数据传输预定和保证服务质量。

(1)RSVP协议中涉及到发送者和接收者的概念,这两个概念是在逻辑上进行区分的。发送者指发送路径消息的进程,而接收者是指发送预留消息的进程,同一个进程可以同时发送这两种消息,因此既可以是发送者也可以是接收者。

(2)资源预留的分类。专用预留:它所要求的预留资源只用于一个发送者,即在同一会话中的不同发送者分别占用不同的预留资源。共享预留:它所要求的预留资源用于一个或多个发送者,即在同一会话中的多个发送者共享预留资源。

(3)RSVP提供两种发送者选择方式。通配符方式:默认所有发送者,并通过预留消息中所携带的源端地址列表来限制通配符滤波器。显式指定方式:滤波器明确指定一个或多个发送者来进行预留。

2、RTP(实时传输协议)。用于Internet上针对多媒体数据流的传输。RTP协议为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在UDP上运行RTP以便使用其多路结点和校验服务。RTP可以与其他适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。

3、RTCP(实时传输控制协议)。实现通过客户端对服务器上的音视频流做播放、录制等操作请求。该协议通过RTSP协议实现了在客户端应用程序中对流式多媒体内容的播放、暂停、快进、录制和定位等操作。RTP和RTCP一起提供流量控制和拥塞控制服务。

4、RTSP(实时流协议)。建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,但RTSP 本身并不发送连续流,换言之,RTSP充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源包括实况数据与存储的剪辑。RTSP 用于控制多个数据发送会话,提供了选择发送通道(如UDP、组播UDP与TCP等)的方式,并提供了选择基于RTP的发送机制的方法。

总之,随着流媒体技术的不断发展以及网民对流媒体的需求的增加,流媒体技术将会日臻成熟并稳步发展。

(注:本文为项目“多媒体CAI应用在高等职业教育中的教学结构模型研究”的研究成果。)

参考文献

[1] 肖金秀、蔡均涛:多媒体技术及应用[M].冶金工业出版社,2006.

[2] 郑丽娜:网络流媒体技术及其应用[J].山东通信技术,2005(2).

[3] 刘肖笛:网络流媒体技术大全[DB/OL].tech.省略/,2006-12.

文件传输协议【第三篇】

IEC60870-5-104协议(以下简称104协议)是国际电工委员会在IEC60870-5-101协议的基础上,为适应网络传输而制定的远动通信协议。它不仅可以应用在集控中心与变电站、集控中心与调度端,而且完全适用于变电站内的通信网。104协议在物理层、链路层、网络层、传输层采用RFC2200协议。RFC2200是标准的TCP/IP协议子集,因此104协议适合在基于TCP/IP协议的高带宽网络上传输。104协议最大优点是具有实时性好、可靠性高、数据传输流量大、便于信息扩展、支持网络传输等特点。104协议在应用层采用APCI(应用协议控制信息)传输接口(见图3)。根据APCI控制域格式,104协议报文有3种类型:用于编号的信息传输(I格式)、编号的监视功能(S格式)和未编号的控制功能(U格式)。I格式帧:控制域第1个八位位组组的第一位比特=0。I格式的APDU包含1个ASDU(应用数据服务单元)。S格式帧:控制域第1个八位位组的第1个比特位=1,且第2个比特位=0。S帧只包括APCI。U格式帧:控制域第1个八位位组的第1个比特位=1,且第2个比特位=1。U帧也只包括APCI。104协议通过发送序号N(S)和接收序号N(R)机制来防止报文的丢失和报文的重复。当通信双方建立连接后,双方开始数据传输。发送方每发送1个I格式报文,其发送序号加1,接收方每接收到一个与其接收序号相等的I格式报文后,其接收序号也加1。接收方通过比较接收到的I格式报文发送序号N(S)与自己的接收序号R(S)是否相等来判断是否存在报文丢失或重传的情况。当接收方收到发送序号大于自己接收序号的I格式报文时,意味着报文在经过网络传输时存在丢包。当接收方收到发送序号小于自己接收序号的I格式报文时,意味着报文在经过网络传输时存在重传。当接收方收到正确的I格式报文时,向发送方发送S格式报文进行确认。如果发送方的I格式报文长时间没有在对方的接收序号中得到确认,则意味着发生了报文丢失或网络中断。

提高电气监控系统实时性的优化方法

提高电气监控系统实时性的方法有多种,总体可分为升级电气监控系统硬件和优化软件算法两方面。本文采用软件上对网络通信协议进行优化的方法,实现电气监控系统实时性能的提升。

(一)IEC60870-5-103协议的实时性优化

国际标准的103协议电气接口有2种,一种为光纤接口,另一种是EIARS485接口。光纤传输具有抗干扰能力强,传输速度快等优点。当继电保护装置与监控系统在同一个变电站内或距离较近时,光纤接口与EIARS485接口的传输速度差别可忽略不计。采用光纤接口和EIARS485接口在通信链路拓扑上是相同的,因此光纤接口与EIARS485接口的分析方法是一致的。下面重点对EIARS485接口进行分析。EIARS485接口是一种三线制半双工接口,在一个时间点只能进行信号的接收或者发送,即信号收发不能同时进行。在工程上常采用图4的通信拓扑结构。EIARS485总线上并联的3个继电保护装置轮流获得通信权,向通信前置机发送数据。继电保护装置的数据能否尽快地传送给通信前置机,取决于获得通信权的时间间隔。基于这样的机制,就会出现如果一个继电保护装置传输多个信号时,将会占据比较长的传输时间。特别是当发生大面积电气故障时,继电保护装置可能会产生较多的变位信号。如果按一个继电保护装置上传5个遥信信号计算,传输这5个变位遥信信号要通过至少20帧报文才能完成。为保证继电保护装置的信号能实时传输给通信前置机,在考虑EIARS485接口连接继电保护装置的数量时,就需要计算极端情况下,在EIARS485接口中继电保护装置信号传输的最大延时。计算EIARS485数据的传输延时,本文参考国标GB/中的非平衡传输过程进行计算。

(二)IEC60870-5-104协议的实时性优化

104协议是基于以太网传输的,以太网RJ45接口是一种平衡传输的全双工接口。影响104协议实时性的主要有2个因素:一是以太网的传输性能。这是由网络拓扑结构和以太网带宽决定的。二是104协议报文的信号携带效率。下面主要通过对第二个因素优化来提高104协议的实时性。104协议通过I格式帧进行数据传输。104协议中规定一个ASDU在不超过249个字节时,既可以传输一个信号(如开关变位信号),也可以传输一组信号(包含多个遥信信号)。在现有的监控系统104协议使用中,一个I个格式帧通常只传输一个变位遥信信号。如果能够做到在一个I个格式帧内尽可能传输多个数据,无疑提高了信号的传输效率。本文认为可以采用一个I个格式帧包含5~10个遥信变位信号。这样传输虽然增加了I个格式帧的长度(增加了15~50个字节),但对于100M以太网的传输性能来说,增加15~50个字节的影响可以忽略不计。采用这种方法传输后,原先传输500个遥信变位信号需要1000帧报文(一个遥信变位包括一帧遥信变位报文和一帧SOE报文),现在只需要500帧报文,传输延时可节约接近1半。

提高电气监控系统可靠性的优化方法

电气监控系统可靠性主要依靠通信前置机、数据服务器、远动机等设备的冗余配置和通信网络的冗余配置实现。在现有的使用过程中,硬件虽然冗余配置,但冗余设备之间的相互无扰无缝切换却是一直存在的问题。本文通过优化网络通信协议应用,使通信前置机冗余切换和通信网络冗余切换的可靠性得到提高,从而提升电气监控系统的可靠性。

(一)IEC60870-5-103协议双机热备接口切换

103协议在采用EIARS485接口时,一个EIARS485接口只能有1台主机,即2台通信前置机不能通过同一个EIARS485接口向1台继电保护装置发送报文。为提高103协议传输的可靠性,本文认为可将2台通信前置机的所有EIARS485接口并接运行。1台通信前置机处于工作状态(向继电保护装置发送和接收报文),另1台通信前置机处于热备状态(通过该EIARS485接口,只接收工作状态通信前置机与继电保护装置的通信报文)。当热备状态通信前置机检测到工作状态前置机的任何一个EIARS485接口通信中断(该EIARS485接口没有通信报文)时,热备状态前置机接过该EIARS485接口的主机地位,通过该EIARS485接口向继电保护装置发送和接收报文。此时,工作状态通信前置机则放弃该EIARS485接口的主机地位,从而实现IEC60870-5-103协议双机热备接口切换。

(二)IEC60870-5-104协议双以太网(双通道)并行数据传输

现有的监控系统大多都采用通信前置机、数据服务器、远动机和以太网的冗余配置。冗余配置大大提高了信号传输的可靠性。但目前常用的双机双网切换机制都为“硬切换”,即正常情况下冗余的两台通信前置机中只有其中一台使用冗余通信网络中的一条与远动机或服务器进行通信。当正常运行的前置机发生故障或者正常运行的通信网络中断时,通信切换到冗余的另一台通信前置机或另一条通信网络。但是使用这种机制最大的缺点是:通信前置机的切换和通信网络的切换是通过通信前置机内部软件进行判断实现的,切换过程通信是中断的,无法做到无扰连续切换。2008年,IECSC65WG15了IEC62439高可用性自动化网络协议,其中IEC62439-3规定的并行冗余协议(PRP),提出了将设备连接在具有相同特性并列运行的2个LAN网络结构上,在设备上实现冗余网络通信的数据处理。

IEC60870-5-104协议没有规定如何使用冗余通信网络进行数据传输。如果采用并行冗余协议(PRP),需要在各设备内部增加链路冗余体(LRE)进行冗余网络通信的数据处理。但传统变电站现有的监控系统设备并不具有这样的功能结构。如果采用并行冗余协议(PRP),无疑需要重新设计现有的监控系统设备。本文根据并行冗余协议(PRP)的通信原理和104协议的通信机制,在不改动现有设备的基础上,对现有的104协议的通信方式进行修改,从而实现104协议在冗余网络上的并行数据传输。

下面以通信前置机与远动机通信为例,介绍104协议并行数据传输方法(如图5)。在通信前置机和远动机的104协议程序中定义冗余传输的以太网口A和以太网口B。在以太网口A与以太网口B冗余并列通信时,双方链路初始化结束后,总召换和对时报文均由远动机通过以太网口A启动,通信前置机通过这2个以太网口,以相同的报文(包括相同的发送序号和数据内容)向远动机发送报文。远动机则同时从本机冗余传输的以太网口A和以太网口B读取报文,判断2个以太网口收到报文的发送序号,舍弃发送序号较小的报文。如果其中一条以太网链路发生翻动(因路由器或交换机的原因导致通信链路短时中断)时,通信前置机与远动机对这条以太网链路重新进行通信链路初始化(如图6)。初始化结束后,通信前置机并不将该条链路报文的发送序号置0,而是使用与另一正常链路相同的报文(包括发送序号和数据内容)继续发送,从而保证在冗余的通信网路上进行数据的同步传输。

结论

电气监控系统是实现电气设备远程监视和集中控制的综合自动化平台。提高电气监控系统的实时性和可靠性是目前研究电气监控系统的难点和热点。本文从网络通信协议的角度出发,通过对电气监控系统常用通信协议原理的分析,提出了IEC60870-5-103、IEC60870-5-104通信协议的优化使用方法。实践证明,采用该方法在不增加现场电气设备和电气监控系统硬件的条件下,通过修改电气监控系统软件算法,实现了电气监控系统性能的大幅提升,保证了电气监控系统的实时性和可靠性。

文件传输协议范文【第四篇】

关键词:网络文件;传输机制;TCP;UDP

中图分类号:F49

文献标识码:A

文章编号:16723198(2013)01017001

0引言

网络信息技术的发展给我们的工作与生活带来了极大的便利,推动了信息在用户之间的快速流通。伴随着我们当前网络信息技术在日常生活中的普及,我们所需要的许多文件都是通过网络进行传输的。本文就对网络文件的传输机制问题进行了分析与讨论。

1TCP与UDP协议相关理论概述

相关理论概述

TCP是TCP/IP体系中面向连接的运输层协议,它提供全双工的和可靠交付的服务。所谓“面向连接”的含义就是在正式通信前必须要与对方建立起连接,否则通信就会无法进行。这种连接是实时的,只有双方都在时才能通信。

相关理论概述

UDP是面向非连接的用户数据包协议。“面向非连接”的含义是指在正式通信前不必与对方先建立连接,不管对方状态如何直接发送数据。UDP协议适用于可靠性要求不高的应用环境,或者根本不需要建立可开连接的情况。所以说,UDP协议能够快速的发送数据,降低系统连接时的消耗。

表面上看起来,UDP好像比TCP的速度更快,因为相比较UDP协议而言,TCP协议更加复杂一些,但是实际上并不完全是这样,特别是针对那些具有较强可靠性的应用,它们所需要的就是网络文件传输的稳定性与可靠性。在这种情况下,我们往往就会选择TCP协议。

2网络文件传输机制中的多线程技术应用

多线程技术的定义

所谓多线程技术指的就是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,各个线程之间彼此互相独立。它和进程一样拥有独立的执行控制,由操作系统负责调度,二者的区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。

文件传输中多线程技术的引入

为了能够让文件在网络传输过程中能够更快速,我们有必要应用多线程技术。使用多线程传输文件时,发送端和接收端在读写文件时必须把文件共享属性设置为Cfile::shareDentNone。这是因为在发送端会有多个线程同时只读一个文件。

3影响网络文件传输速度的因素分析

要想实现网络文件传输的最优状态,就应当充分掌握影响网络文件传输速度的各项因素。笔者通过分析现有理论以及自身的亲身实践,认为能够给网络文件传输速度带来较大影响的因素主要有以下两个方面:

单词读取文件的大小

网络发送端每一次所读取的文件所包含的字节数以及网络接收端每一次写入文件所包含的字节数都会对网络文件的传输速度产生极大的影响。基于硬盘的读写性质,我们在进行读盘以及写盘的时候最好读入或者写入N个字节的数据(N为扇区的大小)。通过这种操作方式,能够加速文件被读入缓冲区以及写入磁盘的速度。

套接字的个数

网络文件在传输过程中,通常状况下都是一个线程单独获取一个套接字。在这种模式下,套接字的数量也就等于传输线程的数量。这样就会产生这样一个问题:套接字的个数越多是不是就意味着网络文件的传输速度就会随着而增长呢?实践证明,而这并不是成比例增长的。比如,当我们在开展“一个线程单独获取一个套接字”的编程过程中,当套接字的个数(同线程的个数相等)到达一定规模时,如果再使套接字的数量持续上升,那么所表现出来的对于传输速度的提升就会越来越弱。在套接字的数量达到临界值以后,甚至还会降低传输速度。

通过上述分析可以看到,通过综合分析系统性能以及传输性能,假如选择“一个线程单独获取一个套接字”的模式进行编程,那么套接字数量的选择应当同处理器的能力相适应,不能设置的太高。

4结束语

通过上述几个部分的分析与论述,我们可以看到,将TCP应用于网络文件的传输具有更强的稳定性以及可靠性。在应用TCP开展网络文件传输过程中,为了更高效的促进网络文件的传输,还需要将多线程技术引入进来。本文在分析过程中涉及到了网络文件传输过程中的一些影响因素,希望能够对我国当前网络文件传输机制的不断完善提供一点可借鉴之处。

参考文献

[1]王国忱,娄丽娜。TCP服务器端程序的一种实现[J].内蒙古民族大学学报(自然科学版),2009,(06).

51 1218347
");