2013-03-17 2 views
0

Я пытаюсь создать веб-приложение Java, которое позволит мне просматривать удаленную файловую систему за моим NAT-маршрутизатором. Клиент может использовать только исходящий HTTP-протокол.Tomcat Push to Java Client

У меня есть клиент Java на удаленном компьютере, разговаривающий с моим сервером Tomcat, который затем служит для резервного копирования данных в виде веб-страниц. Что-то вроде этого:

File Server (java client) -> Web Server <- Browser 

То, что я не могу понять, как иметь беседу сервера Tomcat обратно на удаленный клиент Java.

То, что я хочу, чтобы случиться:

  • Пользователь нажимает на папку в своем браузере.
  • Браузер ajaxes на сервер.
  • Сервер Tomcat связывается с удаленным java-клиентом.
  • Удаленный клиент java отвечает за список каталогов.
  • Сервер Tomcat отправляет пользователю новые данные, отформатированные как HTML.

Я посмотрел на асинхронный материал Comet и Tomcat 7, но я борюсь!

+0

Похоже, вам нужно прослушивать два «сервера»: 1) веб-сервер (для запросов браузера), 2) какой-то «сервер запросов к файлам» для прослушивания запросов с веб-сервера Tomcat. Если, конечно, вы не можете напрямую загружать файлы «File Server» из Tomcat. – paulsm4

+0

Возможно, попробуйте использовать веб-сервис? – Dangerosking

ответ

1

Если вам нужна полнодуплексная связь через HTTP, я настоятельно рекомендую использовать Atmosphere и Web Sockets. Это упрощает многопользовательский сервер, и он не агностик контейнера (фреймворк).

В этом случае вы можете использовать библиотеку Async Http Client для удаленного клиента Java.

0

Если вы хотите реализовать поведение PUSH, то Commet - это путь.

Если клиентов мало, возможно, вы сможете решить свои требования, разрешив клиенту непрерывное изменение PULL с сервера каждые несколько секунд.