设为首页 收藏本站
查看: 1458|回复: 0

Silverlight支持Ftp上传

[复制链接]

尚未签到

发表于 2015-5-26 10:08:53 | 显示全部楼层 |阅读模式
  前一段时间,因为工作需要,使用silverlight在客户端使用socket与服务器进行长时间连接,并及时更新页面显示服务器数据,因此对于Sl的socket有一定接触,受到诸如服务器943安全策略,可使用端口范围4502-4530约束,不过最终克服困难,完成需要。
  
  受到此次经验启发,即然SL可以使用socket,那是否可以使用SL在客户端做Ftp上传?
  
  当然,所有的疑问,第一时间内,google一下,关键字使用 silverlight ftp client,发现可用内容少之又少,一个英文博客中,隐约写到,可以使用socket,自己处理ftp的通信协议,同时需要ftp服务端更改端口,以适应SL,但并没有给出任何Demo或源代码之类的东西,后搜索数日,未果,遂,想自己实现一下。
  
  思路很简单,更多的是对于程序的尝试。
  1,修改Ftp服务端口(4530)
  2,服务器运行SL需要的策略应答服务
  3,SL使用socket连接该端口,发送和响应各类FTP命令,以进行FTP命令操作
  4,对于FTP数据传输,常用的“主动”,“被动”模式,查阅相关文档后,“被动”模式更常用,于是,需要修改FTP服务,在被动模式下的数据端口范围。(本例中直接固定应答端口为4502,下以fileZillaServer为测试对象,有较详细的消息记录,便于学习FTP各类消息命令)
  
  附图:
  1,运行效果
DSC0000.png
  2,943策略应答服务
DSC0001.png
  3,FTP配置
DSC0002.png
DSC0003.png
  注意事项:
  1,发送Ftp命令,诸如  "USER admin" ,需要添加 "\r\n"至未尾,否则服器不返回消息。最开始浪费N多精力追查原因
  2,文件上传时,连接服务器数据端口(本例中:4502),时间不能与SORT命令(上传通知)间隔时间太长,谨防服务器拒绝
  3,通过数据端口写入字节流时,为都是异步操作,在执行循环发送数据时,第二次发送操作需等待第一个发送操作完成后,才能继续,不然会返回“当前正在发送数据”之类的异常
  4,文件数据发送完毕,需要关闭数据端口,关闭时,请使用Socket.Close(1000)方法,否则,立即断掉连接,上传文件会失败
  其它:
  1,学习用例,仅实现了连接FTP服务器,文件上传功能。
  2,目录罗列通信模块完成,需要对字符进行处理,因为工作原因,未能完成在界面上。
  2,FTP其它常规的下载,删除文件,目录等功能,因时间问题,暂未能一一实现,期待大家的精彩...
  
  源码下载:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70805-1-1.html 上篇帖子: FTP文件服务搭建与同步传输 下篇帖子: 简单的FTP文件安全识别方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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