zoukankan      html  css  js  c++  java
  • How to use the NFS Client c# Library

    类库下载

    I add a wiki page that explains how to use the NFS Client c# .net library in your project.

    NekoDrive uses a Library written in C# on .NET 2.0. that wraps the C++ NFS implementation. In order to use this library in your project download NekoDrive and copy in your project NekoDrive.NFS.dll, NFSv2.dll and NFSv3.dll. Add a reference in your project to NekoDrive.NFS.dll. Don't forget to include NFSv2.dll and NFSv3.dll as a content to deploy.

    you download this library here:

    http://code.google.com/p/nekodrive/

    EXAMPLE 1 - CONNECT TO NFS SERVER AND GET THE EXPORTED DEVICES

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net;
    using NekoDrive.NFS;
    using NekoDrive.NFS.Wrappers;
    
    
    namespace Example1
    {
       class Program
        {
            static void Main(string[] args)
            {
                using(NFS nfs = new NFS(NFS.NFSVersion.v2))
                {
                    if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
                    {
                        foreach(string device in nfs.GetExportedDevices())
                            Console.WriteLine(device);
                        nfs.Disconnect();
                    }
                }
            }
        }
    }

    EXAMPLE 2 - CONNECT TO NFS SERVER, MOUNT THE FIRST EXPORTED DEVICE AND GET THE FILE LIST

    namespace Example2
    {
        class Program
        {
            static void Main(string[] args)
            {
                using(NFS nfs = new NFS(NFS.NFSVersion.v2))
                {
                    if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
                    {
                        List devices = nfs.GetExportedDevices();
                        if(devices.Count > 0)
                        {
                            if(nfs.MountDevice(devices[0]) == NFSResult.NFS_SUCCESS)
                            {
                                foreach(string item in nfs.GetItemList())
                                {
                                    NFSAttributes attrib = nfs.GetItemAttributes(item);
                                    Console.WriteLine(item + " " + attrib.cdateTime.ToString() + " " + attrib.size);
                                }
                                nfs.UnMountDevice();
                            }
                        }
                        nfs.Disconnect();
                    }
                }
            }
        }
    }

    EXAMPLE 3 - CONNECT TO NFS SERVER, MOUNT THE FIRST EXPORTED DEVICE AND DOWNLOAD A FILE IN THE ROOT FOLDER (.)

    namespace Example3
    {
        class Program
        {
            static void Main(string[] args)
            {
                using(NFS nfs = new NFS(NFS.NFSVersion.v2))
                {
                    if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
                    {
                        List devices = nfs.GetExportedDevices();
                        if(devices.Count > 0)
                        {
                            if(nfs.MountDevice(devices[0]) == NFSResult.NFS_SUCCESS)
                            {
                                if(nfs.Read("test.txt", ".", @"c:	est.txt") != NFSResult.NFS_SUCCESS)
                                    Console.WriteLine(nfs.GetLastError());
                                nfs.UnMountDevice();
                            }
                        }
                        nfs.Disconnect();
                    }
                }
            }
        }
    }

    EXAMPLE 4 - CONNECT TO NFS SERVER, MOUNT THE FIRST EXPORTED DEVICE AND UPLOAD A FILE IN THE "TEST/SUB" SUBFOLDER

    namespace Example4
    {
        class Program
        {
            static void Main(string[] args)
            {
                using(NFS nfs = new NFS(NFS.NFSVersion.v2))
                {
                    if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
                    {
                        List devices = nfs.GetExportedDevices();
                        if(devices.Count > 0)
                        {
                            if(nfs.MountDevice(devices[0]) == NFSResult.NFS_SUCCESS)
                            {
                                if(nfs.Write("test.txt", "test/sub", @"c:	est.txt") != NFSResult.NFS_SUCCESS)
                                    Console.WriteLine(nfs.GetLastError());
                                nfs.UnMountDevice();
                            }
                        }
                        nfs.Disconnect();
                    }
                }
            }
        }
    }
  • 相关阅读:
    【随手记】常用16进制代表的容量或位置
    精通css——position属性
    Ubuntu安装GitLab
    Linux内核
    分布式(一)——分布式系统的特性
    【树莓派】入门
    Intel CPU发展历史
    C++读mnist数据
    实验代码一:用来链表实现单向图
    Hadoop配置+centos6.5
  • 原文地址:https://www.cnblogs.com/czytcn/p/8305775.html
Copyright © 2011-2022 走看看