我想编写一个Android应用程序,在我这样做之前,我想知道SignalR是否使用websocket或其他东西在服务器和客户端之间进行通信。
有人知道吗?
默认情况下,SignalR 将尝试使用 Web 套接字,如果它们在底层平台中不可用,它将回退到 SSE,然后回退到长轮询。
Xamarin/Mono 当前实现在 Web 套接字方面存在一些问题,即使 SignalR 支持它,因此 Web 套接字将不可用。
如果你的应用是使用 Xamarin 制作的(正如你标记问题时),你将获得的最佳协议是 SSE(服务器发送的事件)。但根据我的经验(我有一个使用它的应用程序),这个协议对于大多数用例来说足够快速和稳定。
来自 signalR 网页
SignalR 在可用时使用新的 WebSocket 传输,并掉落 必要时返回较旧的交通工具。
从Xamarin论坛和YouTube来看,似乎人们已经成功地在Android上使用SignalR实现了websocket传输
。我还可以使用什么?
Socket.IO HTML5应用程序(使用NodeIIS),GCM或Firebase,例如在任何Web服务器上本机推送通知