gpt4 book ai didi

server-sent-events - 服务器发送的事件是如何实现的?

转载 作者:行者123 更新时间:2023-12-02 03:40:09 28 4
gpt4 key购买 nike

我看过 herethere尝试弄清楚服务器发送的事件是在传输级别。我还不确定。

两个消息来源都声称它们“只是 http”。然而,至少有两种方式可以解释这样的陈述。

当我第一次阅读那些文章时,我假设这意味着 服务器 在同一端口上向 客户端 发起请求,一些其他常规 http 请求 来自 服务器 的客户端是之前创建的。这应该适用于普通家用路由器的地址转换,但我想知道防火墙在企业环境中的影响。

然而,后来,我尝试将 SignalR 与 Silverlight 客户端一起使用,在我的简单示例中,它声称选择使用服务器发送的事件作为传输。这是有道理的,因为 SignalR 文档说 WebSockets 在 Silverlight 中不受支持,服务器发送的事件是下一个最佳选择。

然后,在 fiddler 中,我注意到一个从未完成的请求 - 一个挂起的获取 - 就像您期望的长轮询传输一样。然而,与长轮询相反,请求永远不会完成,即使在实际发送数据时也是如此。 Wireshark 显示此请求确实用于建立从服务器客户端 的单向 channel :它的响应是分块的,服务器为每条消息发送一个 block 。

当然,在 http 的说法中,这仍然是一个请求从客户端到服务器

由于我找不到任何来源提及这一相当重要的信息,我想问是否有人可以验证这种方法确实称为服务器发送的事件,并且我的 SignalR 客户端没有对我说谎。

(PS:写完问题后我注意到 server-sent-events 标签已经告诉我该技术使用了从客户端服务器的持续请求。这几乎是我正在寻求的全部确认。无论如何我都会提交这个问题,以防它可以帮助别人找到这些信息。)

最佳答案

写完问题后,我注意到服务器发送事件标记已经告诉我该技术使用从客户端到服务器的持久请求。这几乎就是我所寻求的全部确认。无论如何,我都会提交这个问题,以防有人找到这些信息。

关于server-sent-events - 服务器发送的事件是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20572193/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com