Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Виртуальная файловая система и сеть


Автор: pifpafx 8.7.2011, 11:59
Озадачили созданием программок на С++: сервера с Виртуальной файловой системой и клиентской программой, через которую можно создавать, удалять, в общем работать с файловой системой на уровне файлов и подкаталогов, с некой визуализацией каталогов в стиле
/
| _ DIR1
| _ | _ DIR4
| _ | _ | _ DIR3
| _ | _ | _ 1.txt

Посоветуйте с чего начать (в особенности организация Виртуальной файловой системы) и каким образом обеспечить соединение через сеть клиентов с сервером  smile 

Использую Microsoft Visual Studio 2010 smile 

Автор: spyswamp 8.7.2011, 13:34
Почитай как организован FAT / NTFS ради интереса. Потом придумай интерфейс для своей системы и реализуй его. У тебя же нет привязки к реалу (ты это можешь в один файлик даже все слить - данные), поэтому сам себе - бог и творец. smile
А можешь тупо дерево запрограммировать - твою структуру файлов/директорий. Ввеси эти самые сущности - файл и директория (директория, кстати, тоже файл, имей ввиду). Потом с помощью стандартных потоков реализовать методы работы с файлами и замутить под все это дело клиентскую прогу, через которую будешь работать с ВФС. Дальше уже наворачивай сеть - можешь даже свой протокол придумать какой-нибудь. smile

Главное одно пойми - мыслить за тебя никто не будет, кроме тебя.

Добавлено через 1 минуту и 7 секунд
Делали с корешем что-то подобное давно, но примером, к сожалению, не подогрею, т.к. он давно канул в лету. :(

Автор: pifpafx 8.7.2011, 14:07
Спасибо - а вот где почитать можно было бы насчёт всего этого?  smile В частности про сеть - про файловую систему я примерно понял что через классы реализовать надобно, а вот как их потом сортировать ума не приложу  smile 

Автор: spyswamp 8.7.2011, 14:46
Что значит "сортировать"?

Про сеть можешь читануть доки по TCP/IP и как работать с ним. Потом глянь что есть по клиент-серверной архитектуре (если будешь юзать сокеты, то читай про них) Мне кажется, что ты будешь делать какой-нибудь простенький протокол обмена (какими-нибудь файлами в спец.формате кидаться с данными зазипованными, как вариант).

Читать лучше всего по ссылкам в гугле на тему "TCP/IP sockets C++" или подобный запрос. Лично я сам давно с сетью не работал уже, поэтому сходу ничего придумать не могу, разве что самому в гугле то же самое вводить. smile

Автор: pifpafx 8.7.2011, 15:25
сортировать лексикографически  smile 

обмен данными: сообщения об изменениях других пользователей и управляющие команды (создать папку и тд) ну и вывод древовидной структуры файловой системы (вот тут при выводе сортировку ) просто не представляю как объекты классов между собой сортировать  smile 

я так понял хватит самого простенького протокола (правда желательно чтобы одновременно подключались 100 пользователей) 


Автор: Silent 12.7.2011, 08:32
Начинать нужно всегда с теории. Например, придумана уже http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC, так что - выбирай, смотри, изучай. Есть открытые реализации, например, http://www.gluster.org/, есть "общие" слова в книжках по операционным системам (Таненбаум, "Операционные системы. Разработка и реализация")... Все в твоих руках, спрашивай конкретнее =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)