仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 687|回复: 8
打印 上一主题 下一主题

[学习教程] 来一篇关于NET的ESFramework4.0文件传送 云云复杂(1)

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:27:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。<p>ESFramework,是一套可高度复用的、天真的、纯真而又壮大的.NET通讯框架,全体接纳C#编写。ESFramework内置了对Tcp和Udp的撑持,而且撑持文本协定和流协定,供应了多种收集引擎供服务端和客户端开辟职员轻松利用。接纳ESFramework框架,使得您不必要懂得Socket、不必再体贴底层与通讯相干的统统噜苏的事变,就能够在一个更高的条理上更快地开辟属于您的高效不乱的收集通讯使用。像IM体系、视频集会体系、数据收罗体系等,但凡必要散布式通讯的体系都可使用ESFramework框架。
一.ESPlus的文件传送流程
ESPlus界说了文件传送的尺度流程,能够用下图暗示:




(1)由发送方倡议传送文件的哀求。
(2)吸收方复兴批准大概回绝吸收文件。假如拒收,则流程停止;不然进进下一步。
(3)发送方发送文件数据,吸收方吸收文件数据。
(4)假如文件传送过程当中,吸收方或发送方失落线大概作废文件传送,则文件传送被中止,流程停止。假如文件传送历程一向一般,则到最初完成文件的传送。
有几点必要申明一下:
(1)发送方能够是客户端,也能够是服务器;吸收方也是云云。但不管发送方和吸收方的种别怎样,它们都恪守这一文件传送流程;就像ESFramework一切的通讯引擎都公用统一套动静处置骨架流程一样。
(2)当吸收方批准吸收后,框架会主动搜刮是不是存在婚配的续传项目,若存在,则会启动断点续传。固然,我们能够经由过程文件吸收办理器的属性来把持断点续传功效是不是开启。关于断点续传的更多内容,能够参考ESFramework4.0文件断点续传道理与完成。
(3)举行文件传送的线程是由框架主动把持的,只需发送方收到了吸收方批准吸收的复兴,框架就会主动在背景线程中发送文件数据包;一样,此时吸收方也会主动处置吸收到的文件数据包。
(4)发送方或吸收方都可随时作废正在传送的文件。
(5)当文件传送被中止或完成时,发送方和吸收方城市有响应的事务关照。

二.ESPlus用于撑持文件传送的基本举措措施
1.TransmittingFileInfo
不管是发送方仍是吸收方,针对每一个文件传送义务,都必要有个工具来暗示它,TransmittingFileInfo即是一个文件传送项目标封装,内里包括了相似发送者ID、吸收者ID、文件称号等相干信息。




TransmittingFileInfo的年夜部分属性关于发送方和吸收方都是无效的,而有几个属性只对发送方无效(好比SendingFileParas),有几个属性只对吸收方无效(如LocalSaveFilePath),这些在匡助文档中都有具体的申明。并且,有些属性(如OriginFileLastUpdateTime)的存在是用于撑持断点续传功效的。

2.FileTransDisrupttedType
ESPlus利用FileTransDisrupttedType列举界说了一切大概招致文件传送中止的缘故原由:

<olclass="dp-c">publicenumFileTransDisrupttedType{///<summary>///本人自动作废///</summary>ActiveCancel,///<summary>///对方作废///</summary>DestCancel,///<summary>///对方失落线///</summary>DestOffline,///<summary>///收集中止、本人失落线///</summary>SelfOffline,///<summary>///对方回绝吸收文件///</summary>DestReject,///<summary>///别的缘故原由,如文件读取失利等///</summary>OtherCause}

3.IFileTransferingEvents接口
ESPlus界说了IFileTransferingEvents接口,用于表露一切与文件传送相干的形态和事务:

<divclass="code"><olclass="dp-c">publicinterfaceIFileTransferingEvents{///<summary>///当某个文件入手下手传送时,触发该事务。///</summary>eventCbGeneric<TransmittingFileInfo>FileTransStarted;///<summary>///当某个文件续传入手下手时,触发该事务。(将不再触发FileTransStarted事务)///</summary>eventCbGeneric<TransmittingFileInfo>FileResumedTransStarted;///<summary>///文件传送的进度。参数为fileID(文件编号),total(文件巨细),transfered(已传送字节数)///</summary>eventCbFileSendedProgressFileTransProgress;///<summary>///文件传送中止时,触发该事务。///</summary>eventCbGeneric<TransmittingFileInfo,FileTransDisrupttedType>FileTransDisruptted;///<summary>///文件传送完成时,触发该事务。///</summary>eventCbGeneric<TransmittingFileInfo>FileTransCompleted;
只想知道 该用户已被删除
沙发
发表于 2015-1-18 14:42:07 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
再现理想 该用户已被删除
板凳
发表于 2015-1-25 19:27:26 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
海妖 该用户已被删除
地板
发表于 2015-2-3 19:00:26 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
老尸 该用户已被删除
5#
发表于 2015-2-9 05:00:27 | 只看该作者
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-27 00:15:57 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
7#
发表于 2015-3-8 19:25:19 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
山那边是海 该用户已被删除
8#
发表于 2015-3-16 13:39:32 | 只看该作者
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-22 23:41:39 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 18:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表