2017-01-19 2 views
1

Xamarin 용 SignalR은 웹 소켓을 통해 작동하지 않습니다.Xamarin 웹 사이트 신호 방식 SignalR

웹 서비스를 통해 SygnalR의 메시징 서비스가 있습니다.

Xamarin에 SignalR을 구현하지 않고도 Xamarin에서 메시지를받을 수 있습니까?

Xamarin 클라이언트 측에서 SignalR을 사용하는 것이 중요합니까?

답변

1

서버에 SignalR 허브를 구현 한 경우 Xamarin에서 SignalR 클라이언트 너겟을 사용할 수 있습니다. 전송은 기본적으로 SSE (Server Sent Events)가되지만 꽤 잘 작동합니다.

클라이언트에서 Webthocket을 SignalR 서버에 연결하기 만하면 실제로 SSE 대신 WebSocket을 사용해야하는 경우가 아니라면 전혀 이해가되지 않습니다.

+0

Xamarin의 SignalR은 Websockets를 통해 작동합니까? – Atlantis

+0

웹 소켓을 통해 작동하지 않을 것입니다. SSE를 통해 작동하지만 작동 할 것입니다. – xleon

1

SignalR은 트랜스 포트를 사용하여 서버에 연결합니다. 사용 가능한 WebSocket 클라이언트의 이식 가능한 버전이 없기 때문에 휴대용 버전의 SignalR 클라이언트는 webSockets 전송을 지원하지 않습니다. 서버와 통신하는 데 사용할 수있는 longPolling과 serverSentEvents라는 두 가지 전송이 더 있기 때문에 괜찮습니다.

벌거 벗은 webSockets로 SignalR 2.x 서버에 연결할 수 없습니다. protocol이 있어야하며 클라이언트가이 메시지를 따르지 않으면 protocol 요청이 거부됩니다. 웹 소켓을 절대적으로 사용해야하는 경우 IClientTransport 인터페이스를 구현하여 자신의 웹 소켓 전송을 구현하고 Start 메서드로 전달할 수 있습니다. 이것이 webSockets 전송이 UWP에서 지원되는 방법입니다. Here은 내가 작성해야하는 모든 코드입니다.

관련 문제