The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"кроссплатформенный демон"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"кроссплатформенный демон"  
Сообщение от jackson (??) on 19-Мрт-09, 02:06 
Господа, посоветуйте! :-)

Пару лет назад была задача написать кроссплатформенный многопоточный сервер (Linux, Win, Bsd), слушающий порт.. т.д. жующий базу данных, грубо говоря.

Использовал для этого stl, pthreads.. там препроцессорных директив не мало нужно было описывать для совместимости с виндой, еще кой-какие приблуды.

Сейчас возникла аналогичная задача (переносимость, многопоточность, желательно унифицированный доступ к нескольким типам БД).
Решил в этот раз пойти другим путем - использовать Qt, но для демонизации нужен класс QService, а он платный - это не вариант. Собственно толку тогда от Qt.

Может посоветуете какую-то еще библиотеку классов С++, наиболее тут адекватную? Или же самое нормальное - изначальный вариант?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "кроссплатформенный демон"  
Сообщение от vic (??) on 19-Мрт-09, 13:24 
>Использовал для этого stl, pthreads.. там препроцессорных директив не мало нужно было
>описывать для совместимости с виндой, еще кой-какие приблуды.

"там препроцессорных директив не мало нужно" - bad design

>Сейчас возникла аналогичная задача (переносимость, многопоточность, желательно унифицированный доступ к нескольким типам
>БД).
>Решил в этот раз пойти другим путем - использовать Qt, но для
>демонизации нужен класс QService, а он платный - это не вариант.
>Собственно толку тогда от Qt.

Ну напишите две функции выполняющие демонизацию, одну для никсов, вторую для винды. Или погуглите, использовать Qt совсем не означает что нельзя пользоваться и другими либами.

>Может посоветуете какую-то еще библиотеку классов С++, наиболее тут адекватную? Или же
>самое нормальное - изначальный вариант?

гугл тут очень адекватен :)
задача описана в общих чертах - хочу все, по всякому и везде. еще никто не смог написать такую либу ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "кроссплатформенный демон"  
Сообщение от jackson (??) on 19-Мрт-09, 21:38 
>Ну напишите две функции выполняющие демонизацию, одну для никсов, вторую для винды.

ага, так и делал, вот что Вы же сами по этому поводу думаете:
>"там препроцессорных директив не мало нужно" - bad design

не мало - это пара файлов, занимающихся этим.

>Или погуглите, использовать Qt совсем не означает что нельзя пользоваться и
>другими либами.

гуглил, в итоге все сводится к тому что бы сделать "пару функций". а зачем мне тогда использовать Qt? Она заявляет о шикарной кроссплатформенности.

>задача описана в общих чертах - хочу все, по всякому и везде.
>еще никто не смог написать такую либу ;)

причем именно такой..

> гугл тут очень адекватен :)

гугл гуглом - им всегда пользуюсь, а здесь хотел услышать высказывания, основанные на опыте. После прочтения одно из таких, например, использование Qt для демона мне стало казаться полнейшим абсурдом, хотя там класс для БД вроде не плохой.. якобы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "кроссплатформенный демон"  
Сообщение от vic (??) on 20-Мрт-09, 12:00 
>гуглил, в итоге все сводится к тому что бы сделать "пару функций".
>а зачем мне тогда использовать Qt? Она заявляет о шикарной кроссплатформенности.

Qt это прежде всего либа для создания графических приложений, а не всего чего угодно, и в ней при всем желании не будет вообще всего.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "кроссплатформенный демон"  
Сообщение от jackson (??) on 21-Мрт-09, 00:16 
абсолютно верно, приоритет на гуевые приложения, но создание приложений без гуя там вполне приветствуется, описано и документировано. почему бы нет.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "кроссплатформенный демон"  
Сообщение от Arifolth (ok) on 20-Мрт-09, 00:00 
>[оверквотинг удален]
>описывать для совместимости с виндой, еще кой-какие приблуды.
>
>Сейчас возникла аналогичная задача (переносимость, многопоточность, желательно унифицированный доступ к нескольким типам
>БД).
>Решил в этот раз пойти другим путем - использовать Qt, но для
>демонизации нужен класс QService, а он платный - это не вариант.
>Собственно толку тогда от Qt.
>
>Может посоветуете какую-то еще библиотеку классов С++, наиболее тут адекватную? Или же
>самое нормальное - изначальный вариант?

а почему не хотите написать posix-совместимый код и собрать это чудище под виндой  спосредством mingw или cygwin???

никаких плясок с бубном и директивами препроцессора делать не прийдётся

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "кроссплатформенный демон"  
Сообщение от jackson (??) on 20-Мрт-09, 00:17 
судя по всему это единственный вариант нормальный, только посредством gcc.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "кроссплатформенный демон"  
Сообщение от Андрей (??) on 20-Мрт-09, 00:21 
посмотрите на ACE
http://www.cs.wustl.edu/~schmidt/ACE.html
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "кроссплатформенный демон"  
Сообщение от jackson (??) on 21-Мрт-09, 00:18 
посмотрел, вполне даже, как вариант. спасибо
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "кроссплатформенный демон"  
Сообщение от devbrain on 24-Мрт-09, 01:03 
>[оверквотинг удален]
>описывать для совместимости с виндой, еще кой-какие приблуды.
>
>Сейчас возникла аналогичная задача (переносимость, многопоточность, желательно унифицированный доступ к нескольким типам
>БД).
>Решил в этот раз пойти другим путем - использовать Qt, но для
>демонизации нужен класс QService, а он платный - это не вариант.
>Собственно толку тогда от Qt.
>
>Может посоветуете какую-то еще библиотеку классов С++, наиболее тут адекватную? Или же
>самое нормальное - изначальный вариант?

POCO еще может для этого подойти http://pocoproject.org/


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "кроссплатформенный демон"  
Сообщение от Vladyslav Lazarenko on 04-Апр-09, 00:55 
>[оверквотинг удален]
>описывать для совместимости с виндой, еще кой-какие приблуды.
>
>Сейчас возникла аналогичная задача (переносимость, многопоточность, желательно унифицированный доступ к нескольким типам
>БД).
>Решил в этот раз пойти другим путем - использовать Qt, но для
>демонизации нужен класс QService, а он платный - это не вариант.
>Собственно толку тогда от Qt.
>
>Может посоветуете какую-то еще библиотеку классов С++, наиболее тут адекватную? Или же
>самое нормальное - изначальный вариант?

Boost C++ Libraries (nothing like QService, but has portable threads etc)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру