当前位置:编程学习 > VB >>

VB问题

请教:使用VB语言如何建立FTP服务器,高手来。 --------------------编程问答-------------------- ftp服务器不要用vb建,直接在操作系统里建。
哦,低手说的,爱信不信(此处有爱封不封,爱解不解的影射DWG之嫌疑,管理员比较笨,看不到) --------------------编程问答-------------------- 使用一个第三方的控件比较靠谱。
Delphi 下有 indy,VB下有什么没有关注过。 --------------------编程问答-------------------- 还没有用vb建过ftp,我也学习一下,下面有请高手出场 --------------------编程问答-------------------- FTP服务器和VB有关系吗 --------------------编程问答-------------------- 还是用现成的吧 --------------------编程问答-------------------- windows组件里面自己找吧: 控制面板->添加删除软件->windows组件 --------------------编程问答-------------------- 估计他是想用VB写FTP服务程序吧。不要纠结了,VB不适合这方面应用,原因有以下几个问题:
1、服务程序涉及到程序的运行效率,VB这方面不行。
2、VB在网络开发上通常使用两种技术,而这些技术在VB的角度用并不是很理想。
   1)使用第三方接口的控件或组件:
      微软提供了现成的 Winsock 控件可以进行这种操作,但是在 Internet 下并不稳定,
      而且因为是控件形式,要做这种东西只能用控件数组实现,但是也因为这样,除了浪费
      不必要的资源,而且抗压能力也很弱,在网络环境比较好的地方可以自己玩玩,如果要
      放到 Internet 上做服务,先天条件太差,根本不可行。
      如果说采用其他的第三方控件和组件,比如封装好的FTP服务控件,那么还不如直接选
      第三方的软件还简单,性能、稳定性、资源控制都进过市场验证,何必还写代码那么麻烦。
   2)直接使用Sock API:
     在这种程序上通常有两种方法可以处理网络信息
      1)堵塞方式
         其实说白了就是通过死循环的方式狂读网络信息,而这种操作会完全占用线程的所有
         资源,因为VB是单线程的,所以如果用堵塞方式整个程序将会卡住,同时还会造成CPU
        占用率过高的现象。当然,VB也可以实现多线程的操作,但是,VB要实现稳定的多线程
         程序的处理,比单独玩VB或VC都要复杂,因为这种操作涉及到VB自身的单元线程管理
         理念与Win32子系统的线程管理理念,如果不慎就会以崩溃收场,即便很多VB高手或VC
        高手要在VB中稳定的实现这种程序的多线程都不是件容易的事,所以堵塞方式在VB中不是
         很理想的方案。
      2)异步通讯方式
         这种方式其实主要是通过消息系统实现的,然后根据消息来决定各种操作状态,弊端是
         既然是消息,都要挂靠hWnd来捕获,那么就意味着一个连接就有一个窗口的存在,可以想象
         会占用多少资源,而且每个通讯都要经过消息系统的传递才开始处理数据,效率也不会很高。
         从抗压、效率来说,这种方案做普通的小程序还可以,如果做服务程序,根本就是想开玩具车
         上高速公路的感觉。顺便说一下,Winsock 控件就是异步方式的。

综上所述,VB要做这种程序不是写不出来,而是没有实用价值,因为效率、稳定性、资源控制等因素限制,
做出来的东西就不符合“服务程序”这种需求。
如果只是想了解 FTP 通讯协议,最简单的方式就是下一份 RFC 文档来看,然后通过观察一些客户端软件
的命令输出来研究更加容易理解,比如 FlashFXP,就会把整个通讯过程几乎都显示出来。 --------------------编程问答--------------------
引用 7 楼 supermanking 的回复:
估计他是想用VB写FTP服务程序吧。不要纠结了,VB不适合这方面应用,原因有以下几个问题:
1、服务程序涉及到程序的运行效率,VB这方面不行。
2、VB在网络开发上通常使用两种技术,而这些技术在VB的角度用并不是很理想。
   1)使用第三方接口的控件或组件:
      微软提供了现成的 Winsock 控件可以进行这种操作,但是在 Internet 下并不稳定,
      而且因……
这么多文字都是你敲出来的么? --------------------编程问答-------------------- 向高手学习了!!!!!
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,