C# 创建smb服务器以共享文件

C# 创建smb服务器以共享文件,c#,smb,network-share,C#,Smb,Network Share,大多数联机位置解释了如何连接和读取smb服务器托管的数据。Wikipedia在以下位置解释有关smb的更多信息: 因此,我尝试从windows eplorer打开一个文件(位于internet上),如下所示: 我需要将此功能添加到我正在创建的程序中。如果创建这样的服务器太复杂,我想我不会这么做,但我想尽力。我找到了这个链接,它可能会帮助我做我正在寻找的事情:但我无法让它工作 如果我能提供一个hello world示例,将服务器的ip放在windows上,并显示一个名为hello world的

大多数联机位置解释了如何连接和读取smb服务器托管的数据。Wikipedia在以下位置解释有关smb的更多信息:

因此,我尝试从windows eplorer打开一个文件(位于internet上),如下所示:

我需要将此功能添加到我正在创建的程序中。如果创建这样的服务器太复杂,我想我不会这么做,但我想尽力。我找到了这个链接,它可能会帮助我做我正在寻找的事情:但我无法让它工作

如果我能提供一个
hello world
示例,将服务器的ip放在windows上,并显示一个名为hello world的目录,我将不胜感激。我计划在windows计算机上运行服务器


此外,它不必是smb服务器。允许我在windows上浏览文件的任何类型的服务器

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


但我对你的问题有点困惑。您是在寻找SMB协议的示例代码,还是只想要SMB共享?研究一些简单的东西,比如Ubuntu和Samba。Samba是一个非常简单的SMB共享,但正如我之前所说的,它在Internet上不起作用

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

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


编辑:看一看

有一个SMB库,它是一个开源的C#SMB 1.0/CIFS和SMB 2服务器库

您可以实现IFileSystem并显示包含“hello world”文件的目录:)

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


Tal Aloni

我想如果你去寻找的话,你会找到很多关于HTTP服务器的资料。当然,如果您需要授权的写访问权限,情况会更复杂。我需要它在internet上工作:(.我正在为一位客户创建一个自定义程序,他希望能够从windows打开共享上的文件。例如,如果他将outlook数据库文件保存在该文件中,则无需下载和更新就可以访问该文件…可能他有很多文件,并且他厌倦了连接到您编写的速度较慢的VPNAY代码g只是一个缓慢的过程,您可能能够让他们打开smb端口,但这是一个坏消息idea@TonoNam也许你应该考虑WebDAV而不是SMB Sype,现在你可以拥有网络共享,Azure甚至通过互联网提供这样的服务,不需要VPN。答案是不正确的,我在每天的BAS上使用SMB 1/2通过互联网。是,没有VPN。Dropbox不支持超过我不记得有多少数据。用户希望在两台计算机上放置500 gb的备份,然后从那时起开始同步。Dropbox的付费版本将支持此功能