Я в кросплатформенном программировании новичок.
Требуется написать кроссплатформенный(по факту Win, Lin, *BSD) многопоточный сетевой сервер, являющийся клиентом MySQL. Есть желание реализовать всё структурным подходом на классическом Си. Стандартное MySQL C API полностью устраивает.
Итак, вопросы:
1) Нужна кроссплатформенная свободная(GPL,LGPL) либа(ы) с поддержкой тредов и сокетов. Компилить все будет gcc(MinGW). Также помимо обычного TCP\IP возможно нужно будет реализовать HTTP и не хотелось бы изобретать велосипед))). Курил GLib, glibc не помогло, не до конца осознал поддержку сокетов в 1й, и вообще что из себя представляет 2я.
2) Подумал что возможно использовать функции для потоков и сокетов из либы мускула, если кто пробывал разъясните как.
3) Может есть резон перейти на Cpp и заюзать что нить вроде Boost'a? Здесь нужно уточнить маленький нюанс — производительность жизненно важна.
Вообщем просьба знающим людям разъяснить что к чему и какие где преимущества....
Огромнейшее спасибо, покурил немного, понравилось. До этого сколько искал в поисках разных ничего подобного не нашел.
Однако тема не закрыта, жду мнений и отзывов(Про тот же APR).
Попробуй ADAPTIVE Communication Environment (ACE(TM)) (Hint: на TAO не смотри, тебе только ACE надо). Полностью кросплатформеная, C API(практически POSIX), по возможности все мапится на нативные методы; cpp враперы и более сложные классы, всегда можно выбрать свой уровень абстракции.
ffk>Попробуй ADAPTIVE Communication Environment (ACE(TM)) (Hint: на TAO не смотри, тебе только ACE надо). Полностью кросплатформеная, C API(практически POSIX), по возможности все мапится на нативные методы; cpp враперы и более сложные классы, всегда можно выбрать свой уровень абстракции.
Спасибо за линк, пофтыкал, ранее читал немного инфы про ACE, но там акцентрировалось внимание на С++, и почему то подумал, что либа исключительно для него.
Однако не могу сказать, что мне понравилось...Либа жирная, пока кажется APR мне больше подойдет.