![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Seen |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Есть апплет, который использует определенный модуль.
Этот модуль нуждается в сервисе, доступ к которому возможен только по tcp на указанный порт. Так как клиент может сидеть за фаерволом (прокси), как можно организовать работу этого модуля через http? Я так понимаю необходимо организовать http тунель через который и будет работать этот модуль и указать ему необходимый ip и порт? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
Правильно понимаете. Вам прокси сервер нужен. Например, это сервлет, который читает запрос апплета, пересылает его по tcp на нужный сервис, читает ответ сервиса и пересылает его по http обратно апплету.
|
|||
|
||||
| Seen |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Я что то такое и предполагал. Я так понял апплетом нужно слушать определенный порт и заворачивать все по http в сторону сервлета, который читает запрос апплета, пересылает его по tcp на нужный сервис, читает ответ сервиса и пересылает его по http обратно апплету. И апплет отдает его модулю. Можно небольшой примерчик как такое организовать? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
Примерчиков для отдельных операций много.
Вам нужно: 1. из апплета послать http запрос сервлету и прочитать ответ. 2. в сервлете читать http запрос апплета и отправлять ответ апплету. 3. в сервлете открыть сокетное соединение с сервисом, послать туда запрос и прочитать ответ. А вот как все это связать уже зависит от задачи. Применение http определяет протокол коммуникации в виде "запрос - ответ". Если вас это устраивает, и протокол может быть stateless , т.е. не надо хранить информацию в промежутке между запросами, то все относительно просто. |
|||
|
||||
| Seen |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Есть еще один этап: Апплетом слушать tcp порт и запрос перенаправлять по http сервлету. после получения http ответа отдавать по tcp запрашиваемому модулю. Все это понятно. А вот сама реализация мне интересна. Во всяком случае спасибо. Буду искать примеры. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
т.е. сам апплет выступает как прокси сервер? Вы хотите чтобы внутренний модуль апплета общался с апплетом через локальный адрес 127.0.0.1 ? Самое мутное место в этой задаче. Это сообщение отредактировал(а) COVD - 14.2.2006, 20:05 |
|||
|
||||
| Seen |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Как бы понятнее объяснить... Есть апплет, которому для работы необходим определенный модуль. Этот модуль может получать информацию только по tcp. ip и порт куда должен обращаться модуль я ему указываю. Так вот если клиент за фаерволом я как раз и думал сделать прокси (второй апплет) к которому по tcp:\127.0.0.1:port обращается модуль из основного апплета. И вот этот второй апплет инкапсулирует запрос в http отдает сервлету и далее как описано выше. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
понятно. вот с организации общения апплета с внутренним модулем и стоило бы начать, потому что это самый нестандартный пункт
|
|||
|
||||
![]()
|
| Правила форума "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. |