Midapex网络开发库v2.1(更新主题:使用C#实现的FTP Server)

授权方式:GPL V3
版本:V2.1
平台: .NET 2.0
IDE: Visual Studio 2008
(C)2008 Midapex

下载地址如下:http://files.cnblogs.com/dyj057/MidapexNetLibV2.1.rar

该FTP Server是在网络库V2.1版本的基础上实现的。功能特点如下:
1.100% C#代码实现。
2.实现了大多数常用的FTP命令。
3.支持断点续传功能。
4.通过Mono实现跨平台特性。底层文件系统充分考虑了Ms-dos和Unix文件系统的差异,克服windows Ftp Client访问Linux FTP Server中文乱码的问题。
5.二次开发功能,可以很容易的实现内嵌的FTP Server,实现文件的传输功能。
6.完全开源,代码共享,不停更新,在线帮助问答。
7.运行稳定,性能良好。
8.支持限制用户连接数和限制上传文件大小功能。
可以通过FTP Server的代码,详细了解到网络开发库的部分功能。

下图是Ubuntu成功运行该程序的证据:
http://images.cnblogs.com/cnblogs_com/dyj057/26088/o_Screenshot.png
服务器的例子代码如下:

class Program
    {
        
static void Main(string[] args)
        {
            Trace.Listeners.Add(
new ConsoleTraceListener());

            AppDomain.CurrentDomain.UnhandledException 
+= new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
            
try
            {
                Console.WriteLine(
"********************************************************************");
                Console.WriteLine(
"Midapex Village FTP Server V2.1");
                Console.WriteLine(
"(C)2006-2008 Midapex Village");
                Console.WriteLine(
"********************************************************************");
                Console.WriteLine(
"");

                
using (FtpServer server = new FtpServer())
                {
                    Console.WriteLine(
"测试帐号:anonymous(匿名登陆,具有读权限), ftp(密码:ftp,具有读写权限)");

                    
/*
                     * 服务器的最大连接数
                     
*/
                    server.Capacity 
= 1000;

                    
/*
                     * 连接超时时间
                     
*/ 
                    server.HeartBeatPeriod 
= 120000;  //120秒
                    
                    
/*
                     * 创建一个使用FTP的用户,
                     
*/
                    FtpUser user 
= new FtpUser("ftp");
                    user.Password 
= "ftp";
                    user.AllowWrite 
= true;
                    user.HomeDir 
= Environment.CurrentDirectory;

                    
/*
                     * 限制该帐号的用户的连接服务器的最大连接数
                     * 也就是限制该使用该帐号的FTP同时连接服务器的数量。
                     
*/
                    user.MaxConnectionCount 
= 2;
                    
                    
/*
                     * 限制用户的最大上传文件为20M,超过这个值上传文件会失败。
                     * 默认不限制该值,可以传输大文件。
                     
*/ 
                    user.MaxUploadFileLength 
= 1024 * 1024 * 20
                    server.AddUser(user);

                    
//把当前目录作为匿名用户的目录,测试目的(必须指定)
                    server.AnonymousUser.HomeDir= Environment.CurrentDirectory;
                    
                    server.Start();
                    Console.WriteLine(
"Press enter to exit");
                    Console.ReadLine();
                    server.Stop();
                }
            }
            
catch (System.Exception e)
            {
                NetDebuger.PrintErrorMessage(
"FATAL ERROR:"+e.Message);
            }
            
        }

        
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            NetDebuger.PrintErrorMessage(
"UNHANDLED ERROR:"+e.ExceptionObject.ToString());
        }
    }
posted @ 2008-04-16 12:28 天下³ 阅读(2695) 评论(42)  编辑 收藏 所属分类: Midapex NET Library

  回复  引用  查看    
#1楼 2008-04-16 13:07 | willieQ      
收藏~~~~~~~~~
  回复  引用  查看    
#2楼 2008-04-16 13:09 | 李战      
谢了,学习。
俺是因为标题的括号内容才进来的
  回复  引用  查看    
#3楼 2008-04-16 13:17 | dudubeibei      
呵呵,和偶一样
  回复  引用  查看    
#4楼 [楼主]2008-04-16 13:26 | Midapex Village      
晕了,看来大家还是喜欢新颖的标题,同理可证大家也喜欢标题党。
  回复  引用  查看    
#5楼 2008-04-16 13:29 | 生鱼片      
我也是看括号进来的,呵呵
  回复  引用    
#6楼 2008-04-16 13:55 | vicqqq [未注册用户]
很好,很强大
  回复  引用  查看    
#7楼 2008-04-16 14:03 | 簡簡單單..      
mark
  回复  引用    
#8楼 2008-04-16 14:06 | vicqqq [未注册用户]
1飞
  回复  引用  查看    
#9楼 2008-04-16 14:08 | lbq1221119      
不错不错 顶一个.有vs2005的么?
  回复  引用  查看    
#10楼 [楼主]2008-04-16 14:12 | Midapex Village      
哎,都是因为阿不的QQ.NET,我现在没有VS2005了。如果需要你自己建一个VS2005的工程吧,把文件加进去就可以了,不需要修改文件内容。
  回复  引用  查看    
#11楼 2008-04-16 14:12 | 狼Robot      
支持
  回复  引用    
#12楼 2008-04-16 14:23 | vicqqq [未注册用户]
顶~~~~~
  回复  引用  查看    
#13楼 [楼主]2008-04-16 14:27 | Midapex Village      
希望大家能够喜欢,如果遇到什么bebug,请尽快提出来,我会尽力解决。谢谢大家的关注。下一步想写一个HTTP服务器程序来玩玩。
  回复  引用  查看    
#14楼 2008-04-16 14:32 | BlueMountain      
额 我是来看标题党的 哈哈
  回复  引用  查看    
#15楼 2008-04-16 14:57 | Justin      
lz绝对是这个 
  回复  引用    
#16楼 2008-04-16 14:57 | cw [未注册用户]
不错, 支持一下....

想请教一下, 有没有比较好的C#开源FTP客户端系统??? 这样就全面了....

谢谢!!!
  回复  引用  查看    
#17楼 2008-04-16 15:04 | 侯垒      

  回复  引用  查看    
#18楼 [楼主]2008-04-16 15:04 | Midapex Village      
@cw
FTP客户端已列入开发计划,等一段时间就出。
  回复  引用  查看    
#19楼 2008-04-16 15:26 | Angel Lucifer      
向楼主学习!
  回复  引用  查看    
#20楼 2008-04-16 15:29 | Angel Lucifer      
.NET Network Programming,偶一直停留在Socket的TCP/UDP阶段,其他如HTTP,FTP,POP3等都忽略了,呵呵。
  回复  引用  查看    
#21楼 2008-04-16 16:03 | Anders Cui      
(坚决不做标题党)== (此电影少儿不宜) :D
  回复  引用  查看    
#22楼 [楼主]2008-04-16 16:08 | Midapex Village      
o(∩_∩)o...
  回复  引用  查看    
#23楼 2008-04-16 16:19 | 金色海洋(jyk)      
很期待FTP的客户端,这样的话上传下载就方便多了。
  回复  引用  查看    
#24楼 2008-04-16 17:04 | reaper      
支持一下。。好东东
  回复  引用    
#25楼 2008-04-16 17:49 | Norm Ren [未注册用户]
楼主的Ubuntu很靓
  回复  引用  查看    
#26楼 [楼主]2008-04-16 17:59 | Midapex Village      
--引用--------------------------------------------------
Norm Ren: 楼主的Ubuntu很靓
--------------------------------------------------------
是我精心打造的,Cool ubuntu,过几天升级到8.04.。。。
  回复  引用  查看    
#27楼 2008-04-16 18:16 | Yannic Yang      
。。。这个标题很标题党
  回复  引用  查看    
#28楼 2008-04-16 20:17 | aspnetx      
支持坚决不做标题党.
  回复  引用  查看    
#29楼 [楼主]2008-04-16 21:28 | Midapex Village      
大家还有什么功能需求,可以提出来,完善这个程序的功能。
  回复  引用  查看    
#30楼 2008-04-16 22:50 | 亚历山大同志      
作为“标题党”的党魁,我很高兴的邀请本文作者加入标题党。
  回复  引用    
#31楼 2008-04-16 23:25 | 在线代理 [未注册用户]
可以说这个就是标题党。

  回复  引用    
#32楼 2008-04-16 23:29 | eig [未注册用户]
我很傻,很天真,看了括号才进来的,作者是标题党的高手?
  回复  引用  查看    
#33楼 [楼主]2008-04-17 00:23 | Midapex Village      
--引用--------------------------------------------------
亚历山大同志: 作为“标题党”的党魁,我很高兴的邀请本文作者加入标题党。
--------------------------------------------------------
谢谢,大家一起努力,把标题党发扬光大。

  回复  引用  查看    
#34楼 [楼主]2008-04-17 00:25 | Midapex Village      
--引用--------------------------------------------------
eig: 我很傻,很天真,看了括号才进来的,作者是标题党的高手?
--------------------------------------------------------
连前1篇帖子的名称都被替换了,那个标题,,,无语了,很佩服自己。

  回复  引用  查看    
#35楼 2008-04-17 09:44 | Kingthy      
支持,以前我就有打算搞一个的.呵呵.
  回复  引用    
#36楼 2008-04-17 15:41 | gogoyc [未注册用户]
真牛啊。。。
  回复  引用  查看    
#37楼 2008-04-17 16:22 | 李涛      
来顶下
  回复  引用    
#38楼 2008-04-17 17:58 | cw [未注册用户]
加油, 大哥!!!

希望能早点看到FTP客户端, 因为客户端的应用需求更大一些....

谢谢....
  回复  引用  查看    
#39楼 [楼主]2008-04-17 19:33 | 天下叁      
--引用--------------------------------------------------
cw: 加油, 大哥!!!

希望能早点看到FTP客户端, 因为客户端的应用需求更大一些....

谢谢....
--------------------------------------------------------
正在努力中,已经完成了大半,还在测试中。

  回复  引用  查看    
#40楼 2008-04-17 22:46 | 黎波      
先收藏了!谢谢!
  回复  引用  查看    
#41楼 [楼主]2008-04-18 20:28 | 天下叁      
各位,Ftp客户端程序已经发布,请查看最近的更新。在此结帖,散分。