Просмотр полной версии : Однопоточный TCP сервер.
Написал сабж с поддержкой загружаемых библиотек а-ля модули Apache.
Рабочее название - Гранит. :)
Тарболл и порт можно узреть здесь: http://reki.ru/products/granite/
Конструктивная и не очень критика принимаются в этом топике.
2 вопроса.
1. Зачем он нужен?
2. Почему конфиг в xml?
2shaman: для всяких полезных вещей. А потому что унифицированный стандарт :)
2stellar: а типа тока одного клиенту обслуживать могет ? А если я ssl хочу ? И езе чтоб в LDAP лазило ?
2 вопроса.
1. Зачем он нужен?
2. Почему конфиг в xml?
1) В ряде случаев использовать fork или POSIX треды не получается.
Например, когда объемы данных, обрабатываемых сервером очень большие и несколько fork могут привести к исчерпанию памяти.
А использовать мультитредный сервер не получается из-за наличия библиотек сторонних производителей с закрытым кодом.
Собственно, наличие этих двух факторов и заставило написать простой однопоточный TCP сервер.
2) Конфиг в XML, чтобы не писать самому парзер.
2stellar: гм... пример не возможного использования Posix threads ? Я ядра 2.6.x люблю ;)
а типа тока одного клиенту обслуживать могет ? А если я ssl хочу ? И езе чтоб в LDAP лазило
Пиши свой обработчик (.so) и будет тебе щастье.
libsocket++.so вполне можно заменить на такую же с поддержкой SSL.
2stellar: гмы :) подумаю :)
2stellar: гм... пример не возможного использования Posix threads ? Я ядра 2.6.x люблю ;)
Когда сторонняя библиотека откомпилирована БЕЗ поддержки мультитредности. А создавать копии ее объектов нельзя ибо они очень много хотят памяти.
2stellar: мдя... это точно :)
vBulletin® v3.8.0, Copyright ©2000-2012, Jelsoft Enterprises Ltd. Перевод: zCarot