Language agnostic 互联网流式数据源是如何工作的?

Language agnostic 互联网流式数据源是如何工作的?,language-agnostic,client,feed,Language Agnostic,Client,Feed,这可以是任何类型的数据馈送,让我们仅以股票市场数据为例,因为这是一种流行的数据馈送。但我说的是实时数据源。所以它不断地发送数据 我试图理解这是如何实现的。这种情况是通过http以某种方式发生的吗?我只是不知道客户端是如何连接到服务器的,服务器是如何发送连续数据的,有人能告诉我这在技术上是如何工作的吗?客户端如何连接到服务器?让我们看看C#或Java之类的东西。这种情况是通过http还是其他方式发生的?请详细说明 谢谢它与正常的HTTP通信没有什么不同,只是更长 当你打开一个网站时会发生什么?(非

这可以是任何类型的数据馈送,让我们仅以股票市场数据为例,因为这是一种流行的数据馈送。但我说的是实时数据源。所以它不断地发送数据

我试图理解这是如何实现的。这种情况是通过http以某种方式发生的吗?我只是不知道客户端是如何连接到服务器的,服务器是如何发送连续数据的,有人能告诉我这在技术上是如何工作的吗?客户端如何连接到服务器?让我们看看C#或Java之类的东西。这种情况是通过http还是其他方式发生的?请详细说明


谢谢

它与正常的HTTP通信没有什么不同,只是更长

当你打开一个网站时会发生什么?(非常粗略的概述)

  • 您的计算机与服务器联系,建立连接
  • 服务器开始向您发送拆分为数据包的数据
  • 您的计算机接收到数据包,可能是无序的,有些数据包有明显的延迟,然后将它们重新组合成一个网站。
    • 您的计算机会对收到的数据包发送确认
    • 服务器将重新传输它在相当长时间内没有收到确认的任何数据包,假设它们在途中被丢弃
    • 在接收数据包和/或确认之间,两者都等待
  • 当传输显示站点所需的所有数据时,您的计算机感谢服务器提供的时间并断开连接
  • 如果在此过程中的任何时候,任何一方停止响应相当长的时间,任何一方都可能会中断连接,假设存在技术困难

    “流式数据源”发生了什么?(更粗略的概述)

  • 客户端联系服务器,建立连接
  • 服务器开始向客户端发送分为数据包的数据
  • 客户机接收数据包,可能是无序的,有些数据包有明显的延迟,然后重新组装它们。
    • 客户端发送接收到的数据包的确认
    • 服务器将重新传输它在相当长时间内没有收到确认的任何数据包,假设它们在途中被丢弃
    • 在接收数据包和/或确认之间,两者都等待
  • 唯一的区别是客户机没有挂断服务器,因为它仍然需要数据,并且两者都没有那么快地断开连接

    问题是,web服务器(用于web站点)专门用于向许多人传递小数据片段,因此一旦所有数据发送完毕,它们就会很快挂断您的电话。但是,您的服务器脚本无法退出,连接将保持活动状态。下面是一个小PHP脚本,它将演示:

    while (true) {
        echo '.';
        sleep(1);
    }
    
    这将无限期地每秒发送一个新的
    (请注意,需要对web服务器进行适当配置,以不终止脚本并立即发送输出)


    请尝试了解基本知识和具体示例。

    但在流媒体中,他们仍然在通过http(端口80)进行交谈吗?关于客户端如何连接到服务器进行此操作的示例是什么?比如,我可以输入一个网址,然后获取流媒体信息吗?(我从未见过一个网站这么做)@foreyez-See-update。HTTP实际上并不重要,它只是TCP/IP之上的一个数据交换协议,用于处理实际连接。你不能只连接到任何不应该连续向你发送信息的随机服务器。网站不会“流”你的信息,因为一个网站只有有限的大小。但通常情况下,如果服务器连续发送信息而不退出,则可以正常工作。