Xamarin的SignalR无法通过Websockets工作。
我有一个Web服务,SygnalR通过websockets发送消息。
我是否可以在Xamarin中收到消息而不将SignalR用于Xamarin?
在Xamarin客户端使用SignalR很重要吗?
答案 0 :(得分:1)
如果您在服务器中实现了SignalR集线器,则可以在Xamarin中使用SignalR Client nuget。传输将默认为SSE(服务器发送事件),但它运行良好。
在客户端实现websocket只是为了连接到SignalR服务器毫无意义,除非你真的需要使用WebSockets而不是SSE。
答案 1 :(得分:1)
SignalR使用传输连接到服务器。 SignalR客户端的可移植版本不支持webSockets传输,因为没有可用的WebSocket客户端的可移植版本。这很好,因为还有两个传输--longPolling和serverSentEvents可用于与服务器通信。
您无法使用裸webSockets连接到SignalR 2.x服务器。需要遵循protocol,如果客户未遵循此protocol,其请求将被拒绝。
如果您绝对需要使用websockets,则可以通过实现IClientTransport
接口实现自己的websockets传输,并将其传递给Start
方法。这就是UWP支持webSockets传输的方式。 Here是我需要编写的所有代码。