#asp.net-mvc #twitter-bootstrap #synchronization
#asp.net-mvc #twitter-bootstrap #синхронизация
Вопрос:
TLDR: Как я могу синхронизировать отображение двух веб-страниц в браузерах на разных компьютерах?
Предыстория:
Я разработал панель мониторинга с использованием MVC, размещенную на сервере IIS, которая используется для отображения информации на двух больших экранах, расположенных рядом. Сервер предоставляет различные макеты для каждого экрана в зависимости от URL-адреса. Макеты создаются с использованием достаточно чистой разметки Bootstrap 3. Каждый экран подключен к независимому Google TV, который загружает экран в качестве домашней страницы. Контент относительно статичен, поэтому перезагрузка страницы каждые 10 минут до этого момента была в порядке вещей.
Проблема
Я рассматриваю возможность горизонтальной прокрутки (т. Е. бегущей строки) внизу, но мне нужно, чтобы она охватывала оба экрана.
Вопрос
Есть ли способ синхронизировать дисплеи достаточно точно (т. Е. Лучше, Чем расхождение в 1 секунду), чтобы текст мог перемещаться с одного экрана на другой и не выглядел слишком разбитым?
Примечание: меня в первую очередь интересуют методы, которые могут быть реализованы из приложения MVC, а не путем взлома Google TV или браузера, чтобы он оставался независимым от браузера / компьютера.
Комментарии:
1. Это интересная ситуация. Я бы рекомендовал заглянуть в SignalR . Он использует websockets для двусторонней связи в реальном времени. Вы могли бы использовать это, отправив данные своего маркера на оба экрана одновременно, а затем просто отложите отображение данных на втором экране на столько секунд, сколько потребуется, чтобы текст пересек первый экран. Это будет выглядеть так, как будто текст прокручивается на обоих экранах.
2. SignalR хорошо подходит для ваших требований…
3. Требование было удалено, поэтому я не буду его реализовывать, однако, @sam2929 если вы хотите добавить свое предложение SignalR в качестве ответа, я приму его. Похоже, это позволит выполнить то, что я пытаюсь сделать.
Ответ №1:
Я бы рекомендовал заглянуть в SignalR. Он использует веб-сокеты для двусторонней связи в реальном времени. Вы можете использовать это, отправив данные своего маркера на оба экрана одновременно, а затем просто попросите второй экран отложить отображение данных на столько секунд, сколько потребуется, чтобы текст пересек первый экран. Это будет выглядеть так, как будто текст прокручивается на обоих экранах.
У Microsoft есть несколько хороших руководств по использованию SignalR для связи в режиме реального времени на их веб-сайте: https://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr .
Ответ №2:
Учитывая тот факт, что вы используете asp.NET , SignalIR может быть фактическим решением для ваших нужд (как указано пользователем @sam2929). Однако, если у вас есть прямой доступ к серверу, я бы посоветовал вам Socket.io (популярная библиотека, которая упрощает и упрощает работу с WebSocket) в сочетании с IISNode, который является тем же расширением IIS, которое они используют в Windows Azure.