gpt4 book ai didi

c# - 将 Signal R 整合到现有的 Web 应用程序中

转载 作者:可可西里 更新时间:2023-11-01 17:08:38 25 4
gpt4 key购买 nike

根据我的理解,信号 R 的美妙之处在于它负责客户端和服务器之间的“握手”以确定它们之间的最佳通信形式(websockets、长轮询等)。我知道默认情况下它会在/signalr 路由上执行此操作。我读到,在此之前,握手将通过 HTTP Get 请求完成,该请求带有指定升级到此新连接的升级/连接 header 。

在我当前的应用程序中,我们支持以 RESTful 方式处理许多 HTTP 请求。如果我们想实时公开其中的一些数据而不是以这种请求响应格式,那么确定我们是否应该使用信号 R 打开连接的最佳方法是什么?检查这些 header 是否仍然足够?我只是觉得这有点多余,因为信号 R 将其抽象化了。

除此之外,是否有一种解决方案是让客户端在连接到正确的端点后专门调用集线器方法来启动流式传输?

TLDR:需要一种从 HTTP 请求打开信号 R 连接的方法,不知道最好的方法是从使用自定义 HTTP header 请求资源还是通过导航到 url 资源和让他们的客户调用集线器方法。

最佳答案

一个典型的使用signalr的例子是:

  1. 加载页面时使用 JavaScript 连接到信号服务器的 html 文件。我们称这个信号器为客户端。

  2. 用 c# 编写的信号服务器。它可以是 winform 或控制台或服务。

  3. signalr Server 可以调用位于同一服务器甚至不同服务器中的任何 dll、web 服务或 webapi。

然后,客户端可以调用信号服务器中定义的任何函数。服务器可以为特定客户端或客户端组调用客户端中定义的任何函数。

此外,客户端 x 也可以调用客户端 y 函数。

我还建议您在 Cordova 项目中创建此 index.html,以便您的客户可以使用任何 pc 桌面浏览器或任何手机浏览器使用此应用程序,或将其作为 Android 或 iPhone 原生应用程序运行,通过使用一组客户端代码。

关于c# - 将 Signal R 整合到现有的 Web 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30553096/

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