Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Описание реализации сетевой программы


Автор: Vokunya 9.4.2009, 21:31
Здравствуйте.
Пишу диплом. Вот первый раз столкнулся с работой в сети. smile  
Суть программы такова: на сервере лежит аксесовская БД с информацией (есть, например, полный путь к книге на диске) о различных книгах. С компов-клиентов надо организовать, в частности, поиск и запуск на чтение нужной книги.

Подскажите общую реализацию, т.е. 
я вообще думал так:  smile 
1. Запускаю приложение на сервере и узнаю IP сервера
2. Сканирую сеть, находим подключенные компы-клиенты (а еще лучше те клиенты где запущено мое приложение).
3. Пересылаем своему приложению на клиентах IP сервера
4. Подключаемся с клиентов к серверу, находим БД, ищем нужную книгу, открываем для чтения 

Жду здравой критики и советов. Заранее спасибо!  smile 

Автор: indapublic 11.4.2009, 05:26
1+2+3 = не понял?
зы. Аксесс обязателен?

Как я понял проблему:
Берем "нормальную" СУБД. Если СУБД не умеет мониторить клиентов, то при соединении клиента в базу пишем запись, при отсоединении - удаляем.
В итоге всегда на сервере будет более-менее актуальная ситуация коннектов.
Дальше клиенты обращаются к серверу, получают нужную информацию и делают с ней что хотят.

Способ соединения будет зависеть от выбора СУБД.

Автор: lukash256 17.4.2009, 11:26
ой как все сложно и запутано.
утачни, что тебе надо "сервер - библиотека" ? если ДА то читай дальше.
книги держи в шаре. Возьми сетевую СУБД (InterBase или MS SQL, к примеру) в ней держи описание книг и сетевой, а не локальный путь к ним (т.е. путь типа "\\Server-lib\books\fantazy\121323.pdf").

как клиентам найти сервер. (а примерно как работает DHCP)
 я когда-то, очень-очень давно, делал так: при запуске клиента, отправлял широковещательный ( 255 на конце :|  ) UDP пакет (но работает не вовсех сетях, хз чего) этот пакет принимал сервер и отвечал своим адресом. в твоем случае ответ должен содержать ешчо и connectingString и парамеры авторизации к сетевой СУБД.  ну а дальше  -  хозяин-барин.

удачи на защите =)

ЗЫ не сервер должен искать клиентов, а клиенты - сервер. :|
ЗЫЫ лучше не используй Access в сети.

Автор: Vokunya 17.4.2009, 21:35
Цитата

ой как все сложно и запутано.

Действительно! smile  Ну и каша у меня в голове сначала была smile  Сейчас вроде как получше стало.

Цитата

ЗЫЫ лучше не используй Access в сети.

Ничего не поделаешь. Будем извращаться smile

ЗЫ Спасибо за ответы

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