Pull to refresh

Comments 23

Тоже интересует вопрос. Ковырялся как-то с Poco — под fedora core 10 своё приложение компилится, запускается. Под freeBsd 7 компилится, но при запуске уже говорит про Poco::SystemException… так и не смог победить… :(
Такая же проблема с Poco и тоже вод фряхой, как раз эта проблема и побудила спросить тут у людей о их мнении.
если речь только о C++, socket и mysql, то наверно имеет смысл опираться на STL, для mysql используем mysql++, по поводу сокетов сложно что-то предложить, поскольку настолько простой механизм, что вряд ли для него нужны обертки, но можно попробовать boost (я не пробовал)
Да, спасибо, пару раз попалась сама библиотека на глаза, но почему то не внушила доверия. Думаю, еще раз стоит обратить на неё внимание.
Если у Вас нет опыта разработки под C++ то я бы порекомендовал все таки посмотреть в сторону Java, вероятность довести проект до конца будет существенно выше. На базе Apache Mina, например, можно в довольно короткие реализовать то что нужно. Насчет производительности — все равно все в итоге упрется в базу, так что существенной разницы между C++ и явой не будет.
Тут нужно быть осторожным: слой между приложением и базой играет значительную роль в производительности решения, знаю примеры, когда драйверы Java для Oracle съедали до 70% времени на отправку запроса или вызова хранимой процедуры.
Осторожным надо быть всегда )
Я может чего-то не понимаю, но зачем именно кроссплатформенная библиотека, если заранее известно что сервер под FreeBSD? Или у вас будут разные аппаратные платформы?
И еще вопрос, какие сокеты вы планируете использовать, блокирующие или нет?
Дело в том, что над приложением будет работать несколько программистов и нет возможности всех пересадить на linux, поэтому и нужно кроссплатформенное решение. Сокеты планируем использовать блокирующие.
У меня не очень много опыта в сетевом программировании, но по-моему для одновременного поддержания 3000 подключений, блокирующие сокеты — не лучший выбор. Хотя возможно под фряхой это не критично.
а зачем кроссплатформенность, если точно известно что сервер будет работать под FreeBSD?
Чуть выше я ответил на вопрос пользователю «TimTowdy».
UFO just landed and posted this here
Нет, что вы, просто нужен сервер для обслуживания клиентов сервиса с приложения для мобильных телефонов через GPRS.
UFO just landed and posted this here
>опыта работы с C++
может тогда лучше java? Например, Apache Mina
UFO just landed and posted this here
UFO just landed and posted this here
вроде MINA достаточно хорошо сама по себе параллелится, поэтому пул может и не нужен (конфигурацию версера топикстартер не озвучил)
я так думаю, что в любом случае java даёт бОльшую гибкость.
C++ не пугайтесь :-)
Если прогеры нормально знают ООП на C++, то проблем не будет.

Из нормальных библиотек только 2, которые уже упомянули, Poco и Boost:Asio.
Я рассматривал обе, и выбрал Boost за более понятный код и модель 1 thread на все запросы.
Будут вопросы — пишите, мы сейчас тоже в самом начале пути :-)
Поставьте вашим «UNIX программистам» под виртуалкой фряху, не создавайте себе проблем.
Пусть редактируют под виндой, а удаленная компиляция/запуск/отладка легко реализуется(в каком-нибудь Eclipse+CDT, ну или Emacs).
И не нужны никакие убогие обёртки над такими примитивными вещами как сокеты и мультиплексирование(kevent/kqueue для фрибсд).

man socket listen bind accept kqueue readv fcntl и вперёд ;)
Sign up to leave a comment.

Articles