Несколько ответов от сервера на один клиентский запрос - PullRequest
0 голосов
/ 20 августа 2009

Это может быть глупый вопрос - и заголовок может потребоваться улучшить ... Я думаю, что мое требование довольно простое: я хочу отправить запрос данных от клиента на серверную программу и на сервер (не клиент) должен ответить что-то вроде «Получил ваш запрос - работает над ним». Затем клиент выполняет другую работу. Затем, когда сервер получил данные, он должен отправить асинхронное сообщение (всплывающее окно?), Говорящее «У меня есть ваши данные; нажмите… (предположительно URL), чтобы получить данные». Я предполагал, что сервер может быть написан на Java, а клиент - HTML и JavaScript. Я не смог придумать чистого решения - помощь была бы признательна.

Ответы [ 5 ]

1 голос
/ 19 мая 2012

Попробуйте использовать «метод Websocket», используя «SuperWebSocket» для стороны сервера и «WebSocket4Net» для стороны клиента. Он отлично работает для моего текущего проекта.

1 голос
/ 20 августа 2009

Большая часть работы включает в себя асинхронный сервер. Для этого необходимо

  1. Выполните ajax-вызов на сервер, который запускает задание и возвращает подтверждение, что задание было начато.
  2. Страница на сервере, которая возвращает информацию о том, завершены ли какие-либо задания для пользователя.
  3. У вас на стороне клиента есть виджет ajax, который время от времени пингует эту страницу на сервере, чтобы узнать, были ли выполнены какие-либо задания. И если это так, сделайте всплывающее окно.

Это единственный способ, если вы не используете службы данных Flex.

0 голосов
/ 30 апреля 2011

В настоящее время вы можете использовать альтернативную технику: Веб-сокеты . Они используются для обмена данными между сервером и клиентом без опроса или отложенных ответов в стиле ajax.

0 голосов
/ 20 августа 2009

для чистой Java я предлагаю что-то вроде jgroups (клиент + сервер являются Java) для html вы должны использовать ajax - там у вас есть таймер, который проверяет каждые X секунд

0 голосов
/ 20 августа 2009

Вы пытаетесь сделать это по протоколу HTTP? Похоже, вы говорите о веб-приложении здесь, но это не ясно из вопроса. Если это так, то есть множество методов для достижения этой цели с использованием AJAX, которые все вместе называются «Комета». В зависимости от того, что именно вы пытаетесь выполнить, может быть уместен ряд различных реализаций как на стороне клиента, так и на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...