Как динамически обновить холст HTML5 через push-сервер без перезагрузки страницы? - PullRequest
1 голос
/ 31 августа 2011

Я хотел бы создать холст, на котором будет отображаться карта сети. Это на самом деле не карта сети, но с точки зрения ее объяснения пример карты сети работает лучше всего, чтобы не увязать в деталях, которые не относятся к моему вопросу.

На карте сети я хочу отобразить маршруты, по которым идет трафик. Эти маршруты меняются во времени, иногда так часто, как несколько раз в минуту. На стороне сервера у меня есть файл журнала, к которому каждое изменение маршрута добавляется, как это происходит.

Я знаю, как создать холст, я знаю, как рисовать свои маршруты на холсте.

Возможно ли, чтобы сервер отправлял обновление на холст, не требуя перезагрузки / обновления страницы, по существу не требуя взаимодействия с пользователем вообще? Нарисованные маршруты автоматически меняются?

Это должно работать на IIS, поэтому необходимо решение на основе jscript или .Net. Я не смогу установить PHP, Python, Ruby и т. Д.

Заранее благодарим вас за любые идеи, которые вы можете предоставить.

Ответы [ 3 ]

3 голосов
/ 02 сентября 2011

Я рекомендую вам взглянуть на решение WebSockets для передачи информации с сервера на клиент (JavaScript). Получив обновление, вы можете обновить холст по мере необходимости.

Технологии, на которые вы должны обратить внимание, если предпочитаемая вами серверная технология .NET будет такой службой, как Pusher , на которую я работаю, и нашими .NET API , которые позволяют вам выпускать обновления клиенту через наш REST API.

Если вы предпочитаете размещать собственную инфраструктуру реального времени, вы можете взглянуть на WebSync (на самом деле это технология Comet), которая интегрируется с IIS, а также XSockets . Существует также ряд технологий реального времени для этого руководства , которые могут вас заинтересовать. Если у вас есть дополнительные вопросы, просто дайте мне знать.

1 голос
/ 12 февраля 2013

Отправленные сервером события: http://www.html5rocks.com/en/tutorials/eventsource/basics

(События, отправляемые сервером - это технология предоставления push-уведомлений с сервера клиенту браузера в форме событий DOM. Серверный API-интерфейс событий EventSource теперь стандартизирован как часть HTML5 [1] W3C .)

0 голосов
/ 31 августа 2011

Да, я делал это раньше (с помощью приложения для рисования на основе ajax). Это очень возможно. Посылайте пакеты информации через AJAX (JSON или что-то еще), интерпретируйте их и рисуйте их на элементе canvas клиента. Это тривиально для разработки (и легко реализовать с помощью чего-то вроде jQuery). Кажется, вы уже поняли, что вам нужен серверный скрипт, который передает информацию на веб-страницу и веб-страницу, которая на самом деле рисует вещи на холсте. По сути, это все, что есть.

...