atitit.网络文件访问协议.unc smb nfs ftp http的区别

 

 

 

1. 网络文件访问协议1

2. NETBios协议  2

3. SMB(Server Message Block)2

3.1. Win访问smb2

3.2. Java访问smb2

3.2.1. jcifs/jcifs-1.3.8.jar.zip( 366 k)2

3.2.2. Jftp也可以了3

4. Unc路径3

4.1. Win访问Unc4

4.2. Java访问Unc4

5. NFS协议4

5.1. Win访问nfs5

5.2. Java访问nfs5

5.2.1. jnex-4.3.jar (cant)5

5.2.2. Use jftp5

6. Wefnfs,http ,ftp7

7. Potplayer访问smb nfs ftp http7

8. 参考7

 

 

 

1. 网络文件访问协议

 

 

从 Windows 95 开始,Microsoft Windows 操作系统(operating system)都包括了客户机和服务器 SMB 协议支持。Microsoft 为 Internet 提供了 SMB 的开源版本,即通用 Internet 文件系统 (CIFS)。与现有 Internet 应用程序如文件传输协议(FTP)相比, CIFS 灵活性更大。对于 UNIX 系统,可使用一种称为 Samba 的共享软件

 

 

常用的网络访问协议有http,ftp,smb,nfs等。。

 

2. NETBios协议 

Netbios (网络基本输入/输出系统)最初由 IBM,Sytek 作为API开发,使用户软件能使用局域网的资源。自从诞生,Netbios成为许多其他网络应用程序的基础。严格意义上,Netbios 是接入网络服务的接口标准。 
  Netbios 原来是作为THE网络控制器为 IBM 局域网设计的,是通过特定硬件用来和网络操作系统 连接的软件层。Netbios经扩展,允许程序使用Netbios接口来操作IBM令牌环结构。Netbios 已被公认为工业标准,通常参照 Netbios-compatible LANs。

 

作者:: 老哇的爪子 Attilax 艾龙,  

 

3. SMB(Server Message Block)

通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(Common Internet File System),并且加入了许多新的特色。

 

3.1. Win访问smb

使用unc路径

 

smb 用 \\server\share\file 的方式访问

3.2. Java访问smb

3.2.1. jcifs/jcifs-1.3.8.jar.zip( 366 k)

 

import jcifs.smb.SmbFile;

import jcifs.smb.SmbFileOutputStream;

 

public class smbTest {

 

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

createDir("aaa2");

File f=new File("\\\\192.168.2.106\\电影\\最新电影");

System.out.println(f.exists());

//f.createNewFile( );

System.out.println("fffff");

}

private static String smburl = "smb://admin:admin@192.168.2.106/电影/最新电影";

//zhoushun ----------------------------

public static void createDir(String dir) throws Exception{

SmbFile fp = new SmbFile(smburl+"//"+dir);

System.out.println("fieldir+++++++++++++++++++++="+smburl+"//"+dir);

//File fp = new File("Z://"+dir);  

        // 目录已存在创建文件夹  

        if (fp.exists() && fp.isDirectory()) {  

            

        } else{

        // 目录不存在的情况下,会抛出异常  

            fp.mkdir();  

        }

}

 

3.2.2. Jftp也可以了

 

4. Unc路径

 

 

4.1. Win访问Unc

4.2. Java访问Unc

Java读写unc路径,就是正常的的file就ok兰.

 

File f=new File("\\\\192.168.2.106\\电影\\最新电影");

System.out.println(f.exists());

 

 

 

Nfs

5. NFS协议

 编辑

本词条缺少概述、信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

NFS是NetworkFileSystem的简写,即网络文件系统. 
  网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。 
  以下是NFS最显而易见的好处: 
  1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。 
  2.用户不必在每个网络上机器里头都有一个home目录。Home目录可以被放在NFS服务器上并且在网络上处处可用。 
  3.诸如软驱,CDROM,和Zip®之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。 
  NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。 
  NFS有很多实际应用。下面是比较常见的一些: 
  1.多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。 
  2.在大型网络中,配置一台中心NFS服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。 
  3.几台机器可以有通用的/usr/ports/distfiles目录。这样的话,当您需要在几台机器上安装port时,您可以无需在每台设备上下载而快速访问源码。 
  注:NFS由Sunmicrosystems公司开发。是一种网络操作系统,并且是unix操作系统的协议

 

5.1. Win访问nfs

,使用unc路径 好像不行

使用win client,好像down不到soft..新不上

 

nfs 需要加载 (mount), win上要装nfs客户端

 

 

 

 

 

5.2. Java访问nfs

 

5.2.1. jnex-4.3.jar (cant)

 话说这段代码虽然很简单,却费了我不少力气。JDK本身是没有访问NFS的功能,只能用第三方包了,google后发觉用java访问NFS的应用很少,竟然没找到可用的示例,远不如samba那么多,而且只有sun的webnfs可用来访问NFS,在http://yanfs.dev.java.net 上只有一个一个的散装源码, 打包后的jar都没地方下,连API文档都没有. 愁煞我也. 找来找去,根据sun的在线文档摸索出了点头绪.

 

Containing JAR files:

[MAVEN2] jnex-4.3.jar

 

 

import com.nexirius.util.XFile;

XFileExtensionAccessor跟个XFileInputStream还是新不上..

放弃..

 

5.2.2. Use jftp

 

 

 一个用JAVA写的FTP客户端程序。功能强大不仅支持FTP,还支持其它协议如SMB, SFTP, NFS, HTTP等。在传输文件的同时还可以...

 

import com.sun.nfs.XFileExtensionAccessor;

import com.sun.xfile.XFile;

import com.sun.xfile.XFileInputStream;

import com.sun.xfile.XFileOutputStream;

 

public class NfsTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

new NfsTest().downloadViaNFS("192.168.2.106","admin","admin","电影");

}

 

public void downloadViaNFS(final String ip, final String user,

final String password, final String dir)

 

{

 

Logger logger = new Logger("");

logger.debug("NFS download begin!");

 

//try {

 

String url = "nfs://" + ip + "/" + dir;

 

XFile xf = new XFile(url);

 

if (xf.exists())

 

{

 

logger.debug("URL is OK!");

 

} else

 

{

 

logger.debug("URL is bad!");

 

return;

 

}

 

//XFileExtensionAccessor nfsx = (XFileExtensionAccessor) xf

//.getExtensionAccessor();

//

//if (!nfsx.loginPCNFSD(ip, user, password))

//

//{

//

//logger.debug("login failed!");

//return;

//

//}

 

String[] fileList = xf.list();

 

X

 

6. Wefnfs,http ,ftp

WebNFS技术是Sun的网络文件系统(Network File System)技术的扩展.可提供比标准HTTP或FTP协议快10倍的文件传输速度。

 

7. Potplayer访问smb nfs ftp http

 

 

nfs 需要加载 (mount), win上要装nfs客户端

smb 用 \\server\share\file 的方式访问

 

 

8. 参考

SMB协议_百度百科.htm

基于SMB协议的共享文件读写 - - ITeye技术网站.htm

Potplayer支持播放NFS_SMB之类的网络文件吗?-PotPlayer论坛 - Powered by Discuz!.html