![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Создадим себе трудности, чтобы потом их героически преодолеть. Проблемы с производительностью могут и не возникнуть, а вот гемморой с программированием гарантировано будет. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Хм... А зачем куча сокетов... Одного хватит, а вот потоков будет куча. Насколько мне не изменяет память в рамках Java, классическая архитектура сервера выглядит так:
На сервере придётся открыть на вход тысячный порт, а клиенты будут делать исходящие коннекты по этому самому порту. Это сообщение отредактировал(а) val - 7.9.2006, 16:06 -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
val тот код который ты привел создает новое соединение (и соответсвенно новый клиентский сокет), на каждом вызове accept().
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: нет Всего: 77 |
И займёт новый порт, выбранный и выделенный абсолютно прозрачно для данного кода Это сообщение отредактировал(а) chief39 - 7.9.2006, 17:40 -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Согласен. -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 1 Всего: 12 |
смотри в стороnу java nio.
|
|||
|
||||
KOp4iK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 26.11.2004 Где: Латвия Репутация: нет Всего: 3 |
посмотрел... ![]() |
|||
|
||||
Tony |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 1 Всего: 12 |
Тебе надо написать сервер состоящий из одного Thread'a.И не надо не каких супер ви4еслителных мощностей.Ты просто их поставиш в о4ередь. |
||||
|
|||||
KOp4iK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 26.11.2004 Где: Латвия Репутация: нет Всего: 3 |
неее в очередь это некошерно!!! тогда одно сообщение будет тормозить все остальные! |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Как я понял, он просто призывает не создавать по треду на каждого клиента. Создается пара тредов которые читают данные от клиенов, и кладут их в очередь на обработку. Пара тредов которые обрабатывают данные от клиентов и помещают результаты в очередь. И еще пара тредов рассылает данные клиентам, или даже первые два нагрузить подобной работой. Просто для этого требуется неблокируемое чтение данных, но это в в io есть nio тут не обязательно. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 1 Всего: 12 |
Ну тогда 2 варианта решения.
1. Супер PC 2. O4ередь Да коне4но код можно пошерстить на производителность.Но я думаю , 4то это повысет не зна4ительно её повысет. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
С чего такие странные выводы?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
KOp4iK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 26.11.2004 Где: Латвия Репутация: нет Всего: 3 |
Если можно поподробнее или ![]() |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
Почитайте про Selector в nio. Он как раз придуман для неблокируемой работы с сокетами одним потоком. Кроме того, эффективность nio в возможности исключить двойное копирование данных благодаря allocateDirect .
Это сообщение отредактировал(а) COVD - 26.9.2006, 14:49 |
|||
|
||||
KOp4iK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 26.11.2004 Где: Латвия Репутация: нет Всего: 3 |
NIO рулит
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |