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

aydmsdu9  于 2022-11-11  发布在  C#
关注(0)|答案(1)|浏览(380)

我正在做一个项目,需要从服务器向同时支持Android和iOS的客户端发送消息。现在我在一个C#服务器应用程序中使用SignalR,同时支持Android和iOS客户端。一切都很好。但我正在寻找一些可能更好的替代方案。
我也做了一些研究,找到了一些例子,但那里不符合我的需要。

vkc1a9a2

vkc1a9a21#

我知道这是一个老问题,但如果这个主题仍然与某人相关:
我们一直在使用基于HTTP的客户端到服务器的请求和Google Firebase Cloud Messaging将消息从后端推送到工作中的Xamarin iOS应用程序(服务器到客户端)。
Firebase允许:
发送向用户显示的通知消息。或者发送数据消息并完全确定应用程序代码中发生的情况。

添加消息处理,主题订阅逻辑,或其他可选功能到您的客户端应用程序。
我们之所以选择Firebase而不是SignalR,主要是因为当应用程序在后台运行时,SignalR似乎会停止工作,并且托管的C#线程被iOS挂起。事实证明,在这些情况下,Firebase更可靠(至少在我们的用例中)。虽然我没有使用它的经验,但Firebase也可以在Android上使用(毕竟这是谷歌的一个项目,所以它得到了官方的支持)。
说其中一个“总体上比另一个更好”将归结为意见,并将不得不基于特定的项目需求来决定,但Firebase在某些情况下是SignalR的有效和成熟的替代品,即使与iOS模拟器的集成似乎不起作用(服务器端消息推送只是失败了一个例外,至少在我们的项目中)。

相关问题