Нужен сервер для обслуживания большого количества входящих соединений. От 500 до 2000 одновременно.
Размер передаваемых данных по этим соединениям будет очень небольшим (сервер будет обслуживать J2ME - клиентские программы).
Соединения будут поддерживаться (видимо, это сокеты).
Планируем написать под Debian на Java.
Но что-то до конца не понятно, а может лучше на C++?
Посоветуйте что-нибудь, пожалуйста...
Нужен сервер для обслуживания большого количества входящих соединений.
Модератор: Модераторы разделов
-
- Сообщения: 2
-
- Сообщения: 135
- ОС: FreeBSD 8.0-RELEASE amd64
Re: Нужен сервер для обслуживания большого количества входящих соединений.
Используйте мультиплексирование (kqueue, poll, select) + неблокируемые операции. Что бы сказать более точно, надо знать, какие данные, куда и откуда будут передаваться и какую еще работу выполняет этот сервер.
-
- Сообщения: 2
Re: Нужен сервер для обслуживания большого количества входящих соединений.
AestheteAnimus писал(а): ↑08.04.2009 16:23Используйте мультиплексирование (kqueue, poll, select) + неблокируемые операции. Что бы сказать более точно, надо знать, какие данные, куда и откуда будут передаваться и какую еще работу выполняет этот сервер.
Мобильные клиенты J2ME будут получать и отдавать данные серверу в небольших объемах. До 2Кб за передачу. Данные - текстовые и числовые массивы.
-
- Сообщения: 135
- ОС: FreeBSD 8.0-RELEASE amd64
Re: Нужен сервер для обслуживания большого количества входящих соединений.
Я бы не стал писать на Жаве сервер (хотя бы потому что я не знаю ее, и не для этого она вообще

-
- Сообщения: 1445
- ОС: Debian Squeeze
Re: Нужен сервер для обслуживания большого количества входящих соединений.
Нормально можно сделать сервер на C или C++. Только он будет работать либо исключительно на unix-подобных, либо исключительно на Windows. Если нужна переносимость, то можно использовать специальные библиотеки. Еще можно заключить системно-зависимые операции в блоки #ifdef - #endif.
Придется использовать мультиплексирование (желательно poll) в Unix-подобных и асинхронные сокеты в Windows (здесь и возникают самые серьезные проблемы переносимости).
На java вряд ли стоит писать сервер изза тормозов системы сбора мусора и тормозов самой java-машины.
Придется использовать мультиплексирование (желательно poll) в Unix-подобных и асинхронные сокеты в Windows (здесь и возникают самые серьезные проблемы переносимости).
На java вряд ли стоит писать сервер изза тормозов системы сбора мусора и тормозов самой java-машины.
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Нужен сервер для обслуживания большого количества входящих соединений.
Тогда уж, в linux не poll, а epoll, если всё равно под каждую систему свой код.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 715
- Статус: ASIC Design Engineer
- ОС: RHEL4
Re: Нужен сервер для обслуживания большого количества входящих соединений.
уж коль скоро раздел для начинающих, то полюбопытствую у гуру:
а на Питоне решать схожую задачу (сервер для большого числа непроизводительных соединений) не будет ли большим извращением?!
а на Питоне решать схожую задачу (сервер для большого числа непроизводительных соединений) не будет ли большим извращением?!
Never stop thinking..................................................................