zoukankan      html  css  js  c++  java
  • Midapex网络开发库v2.1(更新主题:使用C#实现的FTP Server)

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

    下载地址如下:https://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://www.cnblogs.com/images/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());
            }
        }
  • 相关阅读:
    为什么常见编程语言中数组的索引都是从0开始?
    【转载】计算机经典论文选读
    Jetbrains-别人家的公司
    2019.9沉淀反思
    HttpUrlConnection流传输问题(正确传输包含中文的JSON字符串)
    记一次SpringBoot启动缓慢问题的解决过程
    Maven发布jar包到私库
    2016年回顾
    Java集合框架源码分析之ArrayList
    关于哔哩哔哩直播姬
  • 原文地址:https://www.cnblogs.com/dyj057/p/1155861.html
Copyright © 2011-2022 走看看