|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
infinit : 8 Новичок
|
Янв 02, 2012 19:08 |
|
|
| Доброго времени суток. Если я правильно понимаю - то при использовании RMI никакого постоянного соединения нет. Но очень хотелось бы отслеживать, запущен ли клиент. Так вот, подскажите, пожалуйста, как это можно реализовать? Заранее спасибо. |
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Янв 04, 2012 21:17 |
|
|
| infinit писал(а): |
| Доброго времени суток. Если я правильно понимаю - то при использовании RMI никакого постоянного соединения нет. |
В основной реализации - есть, самое настоящее TCPIP, сокет, всё обычно. Но это реализация, привязываться к ней я не советую.
| infinit писал(а): |
| Но очень хотелось бы отслеживать, запущен ли клиент. Так вот, подскажите, пожалуйста, как это можно реализовать? Заранее спасибо. |
Два варианта:
1. Клиент регулярно оповещает сервер о своём состоянии.
2. Клиент передаёт серверу удалённый объект, через который сервер опрашивает состояние клиента. |
|
|
|
 |
Skipy : 4805 Я тут живу! Откуда: Москва, Россия
|
Янв 10, 2012 23:35 |
|
|
| infinit писал(а): |
| Доброго времени суток. Если я правильно понимаю - то при использовании RMI никакого постоянного соединения нет. Но очень хотелось бы отслеживать, запущен ли клиент. Так вот, подскажите, пожалуйста, как это можно реализовать? |
Не буду оригинальным - Вы не должны этого хотеть. Архитектура клиент-сервер предусматривает максимально быстрое обслуживание обращений клиента. Хранить на сервере информацию по всем клиентам - ОЧЕНЬ дорого (представьте, что их 100000). Это катастрофически может сказаться на производительности.
В общем, если Вам нужно постоянное соединение - не используйте RMI.
Вы вообще что делаете? Вам зачем отслеживать клиентов? _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
infinit : 8 Новичок
|
Янв 19, 2012 10:29 |
|
|
| pjotar, Skipy, спасибо. Скорее да, надо избегать методов, требующих знание состояния клиента. Тут вот у меня другой вопрос, подскажите, как реализуется авторизация клиента при применении RMI через SSL? |
|
|
|
 |
Skipy : 4805 Я тут живу! Откуда: Москва, Россия
|
Янв 19, 2012 11:32 |
|
|
Я бы предположил, что через идентификатор сессии. При вызове login генерируется идентификатор и отдается клиенту, а он его добавляет ко всем запросам. Правда, это должно быть заложено в API.
Так работает http-сессия, например. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
surlac : 381 Бывалый
|
Янв 24, 2012 1:04 |
|
|
| infinit писал(а): |
| ...как реализуется авторизация клиента при применении RMI через SSL? |
Сначала на сетевом уровне устанавливается SSL соединение, это обычные сокеты только с прослойкой для шифрования. Потом RMI на уровне приложения — полагаю через SslRMIClientSocketFactory. |
|
|
|
 |
|
|
Страница 1 из 1
|
Список форумов
-> Сети |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|