Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > [C] Сетевое программирование


Автор: redrover 25.9.2011, 16:48
Здравствуйте.

Необходимо спроектировать консольное приложение для Linux Debian, которое должно удовлетворять следующим требованиям:
1. Формировать локальную сеть. То есть видеть другие компьютеры, подключенные к локальной сети. Назначать главный компьютер из списка подключенных, если таковой еще не объявлен. То есть производить опрос.
2. Работать с базой данных Пост Гри. При этом возможна передача данных по каналу длкальной сети.

Подскажите, пожалуйста, с чего начать и в какой среде работать? Уровень знания языка C - скорее удовлетворительный. Мало знаком с протоколом TCP/IP, но задание нужно выполнить исключительно быстро и качественно.

Автор: bsa 25.9.2011, 17:47
Цитата(redrover @  25.9.2011,  16:48 Найти цитируемый пост)
1. Формировать локальную сеть. То есть видеть другие компьютеры, подключенные к локальной сети. Назначать главный компьютер из списка подключенных, если таковой еще не объявлен. То есть производить опрос.
Для этого существуют широковещательные (broadcast) пакеты в протоколе IP. А так же протокол UDP.
Цитата(redrover @  25.9.2011,  16:48 Найти цитируемый пост)
Работать с базой данных Пост Гри.
Может быть Postgresql?
Цитата(redrover @  25.9.2011,  16:48 Найти цитируемый пост)
Подскажите, пожалуйста, с чего начать и в какой среде работать?
Начинать надо с книжки по сетям. Очень рекомендуют Стивенса "Сети TCP/IP".
Лично я рекомендую среду Qt Creator. Но можно посмотреть на KDevelop, Eclipse и Netbeans.
Цитата(redrover @  25.9.2011,  16:48 Найти цитируемый пост)
Уровень знания языка C - скорее удовлетворительный. Мало знаком с протоколом TCP/IP, но задание нужно выполнить исключительно быстро и качественно. 
Сочувствую.

Автор: MAKCim 25.9.2011, 20:27
Цитата(redrover @  25.9.2011,  16:48 Найти цитируемый пост)
но задание нужно выполнить исключительно быстро и качественно. 

тогда, скорее стоит поискать того, кто сможет это сделать
я не думаю, что быстро на достаточном уровне получится освоить, чтобы решить вопрос
хотя, конечно, все зависит от степени обучаемости и желания
в любом случае Стивенса читать обязательно

Автор: fish9370 26.9.2011, 09:49
а мне вот непонятно техническое задание:

Цитата(redrover @  25.9.2011,  16:48 Найти цитируемый пост)
Формировать локальную сеть. То есть видеть другие компьютеры, подключенные к локальной сети. Назначать главный компьютер из списка подключенных, если таковой еще не объявлен. То есть производить опрос.


видеть как? на канальном уровне, сетевом? назначить главным компьютер с какой целью? что он должен делать?


Цитата(redrover @  25.9.2011,  16:48 Найти цитируемый пост)
Работать с базой данных Пост Гри. При этом возможна передача данных по каналу длкальной сети


ну тут могу обрадовать СУБД Postgre прекрасно работает по TCP

Автор: redrover 27.9.2011, 21:50
Цитата

а мне вот непонятно техническое задание:


На сетевом. 
Задание упростили. 
Каждый компьютер имеет собственную базу данных  (однотипной структуры для всех).
Задача: не выделяя главный компьютер, обеспечить максимально полное хранение базы на каждом компьютере. В базе будет заложен список всех машин сети. Поэтому нужно, чтобы при подключении нового компьютера к сети, остальные в горячем режиме отслеживали его появление и дополняли собственные базы на основе вновь прибывшей информации. Таким образом, по сети придется передавать данные.

Добавлено через 1 минуту и 41 секунду
И еще поправка! База данных будет mysql.

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