2012-09-10 2 views
2

Большинство мест в Интернете объясняют, как подключать и читать данные, размещенные на сервере smb. Википедия объясняет больше о л на:Создайте smb-сервер для обмена файлами

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

Так что я пытаюсь сделать, это быть в состоянии открыть файл (находится в Интернете) из окон Eplorer как:

enter image description here

Мне нужно добавить эту функциональность в программу, которую я создаю. Если сложно создать такой сервер, я думаю, я этого не сделаю, но я хочу попробовать все возможное. Я нашел эту ссылку, которая могла бы помочь мне сделать то, что я ищу: http://www.codeproject.com/Articles/309936/Csharp-NET-Network-File-System-NFS-Server Но я не могу заставить ее работать.

Я буду очень признателен, если у меня есть пример hello world, где я помещаю ip сервера в окна, и он показывает мне каталог с именем hello world. Я планирую запустить сервер на компьютере с Windows.

Кроме того, это не должен быть сервер smb. Любой тип сервера, который позволит мне просматривать файлы в окнах.

+0

Думаю, вы сможете найти довольно много материала о HTTP-серверах, если вы хотите посмотреть. Конечно, если вам нужен авторизованный доступ на запись, ситуация немного сложнее. – tripleee

ответ

2

По моему опыту вы не можете подключиться к SMB-ресурсу вне локальной сети. Если вы пытаетесь подключить общий SMB-ресурс, вам нужно будет использовать VPN или другую форму туннельного адаптера для подключения.

Но я немного смущен вашим вопросом. Вы ищете пример кода для протокола SMB или просто хотите поделиться с SMB? Посмотрите на что-то простое, как Ubuntu с Samba. Samba - очень простая SMB-доля, но, как я уже говорил, она не будет работать через Интернет.

+0

Мне нужно, чтобы он работал через Интернет :(Я создаю пользовательскую программу для клиента, и он хочет иметь возможность открывать файлы на общем ресурсе из окон.Например, если он сохранит свой файл базы данных Outlook, там будет приятно получить к нему доступ, не загружая и не обновляя его ... Возможно, у него много файлов, и он устал подключаться к медленному vpn –

+0

любому коду, который вы пишите, это будет просто медленно, вы можете заставить их открыть порты smb, но это плохая плохая плохая идея. –

+1

@TonoNam Возможно, вам стоит рассмотреть webDav вместо SMB-ресурса – Seph

-1

Почему бы вам не упроститься и настроить Dropbox между клиентом и «сервером» таким образом, что вы пропускаете любые vpn и не должны сами писать код, хотя вам придется установить dropbox.

В качестве альтернативы вы можете написать собственную локальную версию dropbox, которая синхронизирует файлы с центральным репо (через любой транспортный механизм http (s), (s) ftp ...), а затем клиент запускает приложение с синхронизацией с сервером

EDIT: посмотрите на http://www.lifehacker.com.au/2011/07/how-to-set-up-a-file-syncing-dropbox-clone-you-control/

+0

Dropbox не поддерживает больше, чем я не помню, сколько данных. Пользователь хочет разместить 500 гб резервных копий на двух компьютерах, а затем с этого момента при запуске синхронизации. –

+0

есть платные версии dropbox, которые поддерживали бы это –

2

Существует SMBLibrary, который является открытым исходным кодом C# SMB 1.0/CIFS и SMB 2 сервера библиотеки.

Вы можете реализовать IFileSystem и представить каталог, содержащий файл «привет мир» :)

Обратите внимание, что для Windows будет подключаться только к серверам, работающим на 139 порт или порт 445, вы не можете указать любой другой порт (сервер: синтаксис порта в вашей печати экрана является недействительным)

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

https://github.com/TalAloni/SMBLibrary

Tal Aloni

Смежные вопросы