Как непрерывно отправлять данные с сервера в браузер - PullRequest
0 голосов
/ 26 мая 2018

У меня есть файл с содержанием:

id, значение, местоположение
1234, проход, / temp /...
234, сбой, / temp / r /...
2343, pass, / temp / status /...

Приведенный выше файл обновляется в течение примерно 1 часа с помощью некоторой программы.Мне нужно отправить эту информацию о файле в браузер, создать таблицу и динамически отображать все данные всякий раз, когда пользователь вводит ссылку http://localhost:6666/getdata. Как мне добиться этого с помощью:


1.cgi (python or perl)
or
2.nodejs
or
3.bottle framework.
as the backend.

Может быть 10 000 записей через 1 час.Допустим, файл был создан в 12:00, а пользователь запросил http://localhost:6666/getdata в 12:10.В течение следующих 50 минут данные должны обновляться динамически (непрерывно), что будет восприниматься пользователем как живые данные.

1 Ответ

0 голосов
/ 26 мая 2018

Чтобы регулярно отправлять данные с сервера на клиент, обычным способом было бы установить клиентом соединение webSocket или socket.io с сервером.Это соединение затем будет долгоживущим, и данные могут быть отправлены в любом направлении через соединение.

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

Библиотека socket.io - это абстракция более высокого уровня, созданная поверх webSocket, и она предлагает ряд полезных функций, помимо того, что предлагает webSocket (например, автоматическое переподключение, автоматическое обнаружение разорванного или неработающего соединения, обмен сообщениями).слой и т. д.), которые обычно полезны (вот почему эта библиотека так популярна для этого использования).Существуют библиотеки socket.io как для использования в браузере, так и для многих серверных платформ (включая node.js).

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