![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| VAB |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.10.2006 Где: WwW Репутация: нет Всего: нет |
Здравствуйте!
Ситуация такая: есть RMI-сервер и RMI-клиент. Клиент вызывает методы сервера и получает все необходимые данные. Но теперь надо сделать так, чтобы после того как на сервере обновилась сумма счета пользователя, она должна обновляться в соответствующем поле в клиентской программе. Т.е. клиент должен принимать запрос от сервера. Можно ли это сделать на RMI и как? Если нельзя, то что посоветуете выбрать? PS Опрос клиентом сервера по периоду не подходит - возрастет ненужная нагрузка на сервер сродни DDOS-атаке. Заранее спасибо! |
|||
|
||||
| sergioK |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 15.2.2008 Репутация: нет Всего: нет |
то есть клиент он одновременно и клиент и сервер , RMI это 100% уу Яна Дарвина в книге есть пример |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 2 Всего: 75 |
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| Skipy |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 4 Всего: 16 |
Особенно он хорош при наличии какого-нибудь десятка тысяч клиентов, которые сервер должен уведомлять. Лучший способ завалить сервер быстро и качественно. Добавлено @ 13:00
Можно, но не нужно. Сервер ПРЕДНАЗНАЧЕН для опросов. И при нормальном построении pull даже раз в секунду от 10000 клиентов он выдержит спокойно. А вот уведомление этих же 10000 клиентов раз в секунду - оно его завалит. Особенно когда пятьсот клиентов уже отвалилось, полторы тысячи сидит за прокси, у трех тысяч слабый канал и длительные задержки. Всё это ляжет на плечи сервера - и обработка ошибок соединений, и поддержка списка активных клиентов - неблагодарное занятие, - и ожидания при передаче. А на деле в конце концов окажется, что обновления раз в минуту было более чем достаточно, и его можно было свободно инициировать со стороны клиента. В общем, я Вам настоятельно рекомендую сначала сделать стандартный вариант - периодический опрос. И посмотреть, действительно ли нагрузка на сервер возрастет настолько, что с этим надо разбираться таким образом. И не является ли возрастание нагрузки следствием неграмотно написаного серверного кода. Это сообщение отредактировал(а) Skipy - 20.10.2010, 13:01 |
||||
|
|||||
| VAB |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.10.2006 Где: WwW Репутация: нет Всего: нет |
Разобрался - во всех случаях происходит передача удаленного объекта с клиента на сервер.
Ян Дарвина просто посмотрел, второй пример немного улучшил и упростил. Что касается философии проектирования - есть над чем подумать. В данном случае достаточно не то что раз в минуту обновлять, а вообще предоставить пользователю самому обновлять поле. Если учесть вышесказанное про прокси и отвалившиеся клиенты, то резонно пока сделать односторонний вызов. Благодарю всех за ответы, очень ценная для меня инфа! Присоединённый файл ( Кол-во скачиваний: 13 )
RMI_CallBack.rar 2,23 Kb |
|||
|
||||
![]()
|
| Правила форума "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. |