如何从服务器持续向浏览器发送数据

How to send data continuously from server to browser

我有一个包含以下内容的文件:

id、值、位置
1234,通过,/温度/...
234,失败,/temp/r/...
2343,通过,/temp/status/...

上面的文件被某些程序连续更新了大约 1 小时。我需要将此文件信息发送到浏览器并创建一个 table 并在用户输入 link http://localhost:6666/getdata 时动态显示所有数据。我该如何实现:


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

1 小时后可能有 10k 个条目。 假设文件是​​在 12:00PM 创建的,用户在 http://localhost:6666/getdata 下午 12:10 请求。在接下来的 50 分钟内,数据必须动态(连续)更新,这对用户来说就像是实时数据。

要定期从服务器向客户端发送数据,通常的设计是让客户端与服务器建立 webSocket 或 socket.io 连接。该连接将长期存在,并且可以通过该连接向任一方向发送数据。

这允许服务器随时向客户端发送数据,而无需等待客户端请求数据。然后客户端监听现有连接上的传入数据(使用适当的事件处理程序)并在数据到达时处理数据 - 做任何适合数据的事情(比如显示它)。

socket.io library 是建立在 webSocket 之上的更高层次的抽象,它提供了一些超出 webSocket 提供的有用功能(例如自动重新连接、自动检测掉线或非功能连接、消息传递层等),它们通常很有帮助(这就是为什么该库如此受欢迎的原因)。有 socket.io 个库可用于浏览器和许多服务器平台(包括 node.js)。