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


Автор: bartram 25.8.2010, 14:15
Возникла необходимость написать сетевого демона под FreeBsd на С++. Подскажите в какую сторону копать? Может какая литература есть на русском? Беглый поиск по гуглу результатов не дал.

Автор: boostcoder 25.8.2010, 16:15
Цитата(bartram @  25.8.2010,  14:15 Найти цитируемый пост)
Подскажите в какую сторону копать?

что от демона требуется?

Цитата(bartram @  25.8.2010,  14:15 Найти цитируемый пост)
 Беглый поиск по гуглу результатов не дал.

ну да, надо ведь знать что искать.

Автор: bartram 25.8.2010, 16:22
Цитата(boostcoder @  25.8.2010,  18:15 Найти цитируемый пост)
что от демона требуется?

Нужно чтобы он висел в памяти и через определенные промежутки времени ходил в папку с файлами на другой машине (допустим по SMB), парсил текст через регулярные выражения и складывал результаты куда-либо (база данных, файл и т.д.)

Автор: djamshud 25.8.2010, 16:31
Нужно выучить си и POSIX как минимум в части системных вызовов.

Автор: boostcoder 25.8.2010, 16:33
ну так это просто..
демон http://forum.try-catch.ru/index.php?topic=265.0. осталось найти либу для smb протокола, либо выбрать другой протокол.

Автор: djamshud 25.8.2010, 16:39
>демон тут

Какая-то адская неведома хрень из C и C++. http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html правильная ссылка. А за тех демонов авторов нужно убивать или хотя бы отрбуть им руки.

Автор: bartram 25.8.2010, 16:42
Есть достаточно материала для написания демона под Linux, какие особенности нужно учесть при программировании его под FreeBsd, или кардинальных отличий нет?

Автор: boostcoder 25.8.2010, 16:49
Цитата(djamshud @  25.8.2010,  16:39 Найти цитируемый пост)
Какая-то адская неведома хрень из C и C++

я так понимаю, что написать его только на с++ не получится, т.к. pthread* сишные. а писать на си - уже как-то не модно smile

Добавлено через 14 секунд
Цитата(bartram @  25.8.2010,  16:42 Найти цитируемый пост)
или кардинальных отличий нет?

нет.

Добавлено через 2 минуты и 28 секунд
Цитата(boostcoder @  25.8.2010,  16:49 Найти цитируемый пост)
т.к. pthread* сишные.

хотя если убрать поток обработки сигналов, то pthread* не нужны.

Автор: djamshud 25.8.2010, 16:52
boostcoder,

>я так понимаю, что написать его только на с++ не получится, т.к. pthread* сишные. а писать на си - уже как-то не модно

Сигналы, форки, файл-локи... Системных вызовов много. Каркас демона проще писать на си.

Автор: bartram 25.8.2010, 20:39
Цитата(djamshud @  25.8.2010,  18:39 Найти цитируемый пост)

Какая-то адская неведома хрень из C и C++. Вот правильная ссылка. А за тех демонов авторов нужно убивать или хотя бы отрбуть им руки.
http://linuxportal.ru/entry.php/2361_0_3_0/ перевод вроде как smile

В любом случае всем спасибо, пойду разбираться smile

Автор: MAKCim 26.8.2010, 09:16
boostcoder, 
обычно _процесс_ обработки сигналов, т. н. процесс-advisor, который мониторит работу программы, в случае чего делает рестарт, нотификацию об ошибках, сохраняет core dump'ы и т. д.

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