创建smb服务器以共享文件

时间:2012-09-10 04:09:34

标签: c# smb network-share

大多数在线地方都解释了如何连接和读取smb服务器托管的数据。维基百科解释了有关smb的更多信息:

http://en.wikipedia.org/wiki/Server_Message_Block

所以我要做的是能够从windows eplorer打开一个文件(位于互联网上):

enter image description here

我需要将此功能添加到我正在创建的程序中。如果创建此类服务器很复杂,我想我不会这样做,但我想尽我所能。我发现这个链接可以帮助我做我正在寻找的事情:http://www.codeproject.com/Articles/309936/Csharp-NET-Network-File-System-NFS-Server但我不能让它发挥作用。

如果我有一个hello world示例,我将服务器的IP放在Windows上,它会显示一个名为hello world的目录,我将非常感激。我计划在Windows计算机上运行服务器。

此外,它不必是smb服务器。任何类型的服务器,使我能够浏览Windows上的文件。

3 个答案:

答案 0 :(得分:2)

SMBLibrary是一个开源的C#SMB 1.0 / CIFS和SMB 2服务器库。

您可以实现IFileSystem并显示一个包含" hello world"的目录。档案:))

请注意,Windows只会连接到在端口139或端口445上运行的服务器,您无法指定任何其他端口(打印屏幕中的服务器:端口语法无效)

http://vm1.duckdns.org/public/SMBLibrary/SMBLibrary.htm

https://github.com/TalAloni/SMBLibrary

Tal Aloni

答案 1 :(得分:1)

根据我的经验,您无法连接到本地网络之外的SMB共享。如果您尝试安装SMB共享,​​则必须使用VPN或其他形式的隧道适配器进行连接。

但我对你的问题感到有些困惑。您是在寻找SMB协议的示例代码还是只想要SMB共享?看看像Samba这样简单的Ubuntu。 Samba是一个非常简单的SMB共享,​​但正如我之前所说,它不会在Internet上运行。

答案 2 :(得分:-1)

为什么不让自己轻松一点,在客户和“服务器”之间设置一个Dropbox,这样你就可以跳过任何vpn而不必自己编写任何代码,尽管你必须安装dropbox。

或者,您可以编写自己的本地版Dropbox,将文件同步到中央存储库(通过任何传输机制http(s),ftp ...)然后让客户端运行应用程序同步它们与服务器

编辑:看看http://www.lifehacker.com.au/2011/07/how-to-set-up-a-file-syncing-dropbox-clone-you-control/