C#SignalR替代方案,支持Android和iOS

Fla*_*ppy 9 c# websocket

我正在开发一个项目,需要从服务器向支持Android和iOS的客户端发送消息.目前我在使用Android和iOS客户端的C#服务器应用程序中使用SignalR.一切都很好.但我正在寻找一些可能更好的替代方案.

我也做了一些研究,发现了一些例子,但不符合我的需要.

Fre*_*eft 0

我知道这是一个老问题,但如果这个主题仍然与某人相关:

我们一直在工作中使用从客户端到服务器的基于 HTTP 的请求和Google Firebase Cloud Messaging将消息从后端推送到 Xamarin iOS 应用程序(服务器到客户端)。

Firebase 允许:

发送向您的用户显示的通知消息。或者发送数据消息并完全确定应用程序代码中发生的情况。

向您的客户端应用程序添加消息处理、主题订阅逻辑或其他可选功能。[...]

我们主要选择 Firebase 而不是 SignalR,因为当应用程序在后台运行且托管 C# 线程被 iOS 挂起时,SignalR 似乎停止工作。事实证明,Firebase 在这些情况下更加可靠(至少在我们的用例中)。虽然我没有使用它的经验,但Firebase也可以在Android上使用(毕竟这是Google的项目,所以它是官方支持的)。

说其中一个比另一个“总体上更好”将归结为意见,并且必须根据具体的项目要求来决定,但在某些情况下,Firebase 是 SignalR 的有效且成熟的替代品,即使与 iOS 模拟器的集成似乎不起作用(服务器端消息推送失败并出现异常,至少在我们的项目中)。