类库下载
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:\test.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:\test.txt") != NFSResult.NFS_SUCCESS) Console.WriteLine(nfs.GetLastError()); nfs.UnMountDevice(); } } nfs.Disconnect(); } } } } }