Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Апплет и http тунель 
:(
    Опции темы
Seen
Дата 13.2.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



Есть апплет, который использует определенный модуль.
Этот модуль нуждается в сервисе, доступ к которому возможен только по tcp на указанный порт.

Так как клиент может сидеть за фаерволом (прокси), как можно организовать работу этого модуля через http?
Я так понимаю необходимо организовать http тунель через который и будет работать этот модуль и указать ему необходимый ip и порт?
PM MAIL   Вверх
COVD
Дата 13.2.2006, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Правильно понимаете. Вам прокси сервер нужен. Например, это сервлет, который читает запрос апплета, пересылает его по tcp на нужный сервис, читает ответ сервиса и пересылает его по http обратно апплету.
PM MAIL   Вверх
Seen
Дата 14.2.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



Цитата

Правильно понимаете. Вам прокси сервер нужен. Например, это сервлет, который читает запрос апплета, пересылает его по tcp на нужный сервис, читает ответ сервиса и пересылает его по http обратно апплету.


Я что то такое и предполагал.
Я так понял апплетом нужно слушать определенный порт и заворачивать все по http в сторону сервлета,
который читает запрос апплета, пересылает его по tcp на нужный сервис, читает ответ сервиса и пересылает его по http обратно апплету.
И апплет отдает его модулю.

Можно небольшой примерчик как такое организовать?


PM MAIL   Вверх
COVD
Дата 14.2.2006, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Примерчиков для отдельных операций много.
Вам нужно:
1. из апплета послать http запрос сервлету и прочитать ответ.
2. в сервлете читать http запрос апплета и отправлять ответ апплету.
3. в сервлете открыть сокетное соединение с сервисом, послать туда запрос и прочитать ответ.

А вот как все это связать уже зависит от задачи. Применение http определяет протокол коммуникации в виде "запрос - ответ". Если вас это устраивает, и протокол может быть stateless , т.е. не надо хранить информацию в промежутке между запросами, то все относительно просто.
PM MAIL   Вверх
Seen
Дата 14.2.2006, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



Цитата

Примерчиков для отдельных операций много.
Вам нужно:
1. из апплета послать http запрос сервлету и прочитать ответ.
2. в сервлете читать http запрос апплета и отправлять ответ апплету.
3. в сервлете открыть сокетное соединение с сервисом, послать туда запрос и прочитать ответ.


Есть еще один этап:
Апплетом слушать tcp порт и запрос перенаправлять по http сервлету.
после получения http ответа отдавать по tcp запрашиваемому модулю.

Все это понятно. А вот сама реализация мне интересна.

Во всяком случае спасибо. Буду искать примеры.
PM MAIL   Вверх
COVD
Дата 14.2.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата(Seen @ 14.2.2006, 17:03 Найти цитируемый пост)
Апплетом слушать tcp порт и запрос перенаправлять по http сервлету.
после получения http ответа отдавать по tcp запрашиваемому модулю.


т.е. сам апплет выступает как прокси сервер? Вы хотите чтобы внутренний модуль апплета общался с апплетом через локальный адрес 127.0.0.1 ? Самое мутное место в этой задаче.

Это сообщение отредактировал(а) COVD - 14.2.2006, 20:05
PM MAIL   Вверх
Seen
Дата 15.2.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



Цитата

т.е. сам апплет выступает как прокси сервер? Вы хотите чтобы внутренний модуль апплета общался с апплетом через локальный адрес 127.0.0.1 ? Самое мутное место в этой задаче.


Как бы понятнее объяснить...
Есть апплет, которому для работы необходим определенный модуль.
Этот модуль может получать информацию только по tcp.
ip и порт куда должен обращаться модуль я ему указываю.

Так вот если клиент за фаерволом я как раз и думал сделать прокси (второй апплет) к которому
по tcp:\127.0.0.1:port обращается модуль из основного апплета.
И вот этот второй апплет инкапсулирует запрос в http отдает сервлету и далее как описано выше.
PM MAIL   Вверх
COVD
Дата 15.2.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



понятно. вот с организации общения апплета с внутренним модулем и стоило бы начать, потому что это самый нестандартный пункт
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.