【问题标题】:.NET CORE 2.1.403 SignalR Official Support for Swift.NET CORE 2.1.403 SignalR 官方支持 Swift
【发布时间】:2019-05-08 08:08:29
【问题描述】:

我在 .NET CORE 2.1.403 上开发了一个 WebApi 后端项目,所有的 webapi 路由都运行良好。现在我需要对用 Swift 开发的 iOS 应用程序进行实时更新。

我找不到任何支持 SignalR 的官方库。经过搜索,我发现https://github.com/moozzyk/SignalR-Client-Swift 支持.NET CORE,但没有我们可以依赖的详细文档。然而,我的 Javascript 客户端与 .NET CORE 配合得很好。

我之前使用过SwiftR.NET FRAMEWORK 4.7.1 SignalR,效果很好。

正如GITHUB issue 所建议的那样,没有关于 Swift 客户端的计划。在这方面的任何建议都会有所帮助。

【问题讨论】:

  • 实际上,关于这个问题的评论说有 Swift 客户端的计划,但还没有里程碑。你最好的选择是简单地研究你找到的第三方 Swift 客户端 repo 中的代码。遗憾的是没有文档或文档不足,但最终,如果您无法理解代码,您一开始就不应该这样做。也许您甚至可以通过自己记录并提交拉取请求来帮助社区。​​span>
  • @Pawel,您的链接需要登录(我希望它是一个仅限管理员的链接)。这是一个工作链接:blog.3d-logic.com/2019/07/28/…
  • 链接不正确 - 感谢您发布正确的链接。我删除了我的评论。

标签: swift asp.net-core .net-core signalr


【解决方案1】:

我意识到这是一个迟到的回复,但值得一提的是,我已经成功地在 iOS 中使用 https://github.com/moozzyk/SignalR-Client-Swift SignalR 客户端来对抗 AspNet Core 服务器实现。 GitHub 上的文档有点稀疏,但使用起来非常简单。例如:

// Set up a connection to the SignalR hub on the servver.
private func connectToSignalRHub() {
    // Are we already connected to the hub?
    if !isHubConnected {
        let url = URL(string: "http://\(hostName):\(serverPort)/hub")!
        hubConnection = HubConnectionBuilder(url: url).withLogging(minLogLevel: .error).build()
        if let hub = hubConnection {
            hub.delegate = self

            // Set our callbacks for the messages we expect from the SignalR hub.
            hub.on(method: "ProgressUpdate", callback: {
                args, typeConverter in
                if let data = try? typeConverter.convertFromWireType(obj: args[0], targetType: String.self) {
                    self.onHubProgressUpdate(progress: data)
                }
            })

            // Start the hub connection.
            hub.start()
        }
    }
}

如果您仍然需要,我很乐意分享更多详细信息。

【讨论】:

  • 我需要更多详细信息。我设置了一个像你分享的课程,但没有检测到连接状态。我不知道我能做什么?我记录了这些步骤,它完成了“HttpConnection denit”。
  • 您是否连接到在 Asp.NetCore 中运行的 SignalR 集线器?我问的原因是 Asp.NetCore 中的 SignalR 实现与 Asp.Net 中的早期实现不兼容,因此请注意不要尝试连接到 SignalR 集线器的旧实现。但是,您的连接失败也可能是多种其他原因,您能否分享更具体的细节?
猜你喜欢
  • 2013-03-14
  • 1970-01-01
  • 2018-11-30
  • 2019-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 2017-08-24
相关资源
最近更新 更多