如何从服务器到浏览器连续发送数据

时间:2018-05-25 21:22:13

标签: javascript python jquery node.js cgi

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

id,value,location
1234,传球,/温度/ ...
234,失败/温度/ R / ...
2343年,通,/温度/状态/ ...

上述文件由某个程序连续更新约1小时。我需要将此文件信息发送到浏览器并创建一个表格,并在用户输入链接http://localhost:6666/getdata时动态显示所有数据。我如何通过以下方式实现这一目标:


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

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

1 个答案:

答案 0 :(得分:0)

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

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

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