Programming/C#
[.Net Framework] SignalR에 대해서 알아보자.
빙기때침식곡
2022. 3. 17. 21:46
반응형
1. SignalR
- 실시간으로 웹 기능을 앱에 추가하는 것을 간소화 해준다.
- Realtime, 비동기, 쌍방향 통신 기능을 쉽게 사용할 수 있게 해주는 오픈소스 라이브러리로 ASP.NET Core에 추가됨.
- 서버로부터 빈번한 업데이트가 필요한 어플리케이션에 권장된다.
- 서버 대 클라이언트 RPC를 위한 API를 제공한다.
- RPC 통신은 서버측의 .NET Core 코드에서 클라이언트 상의 자바스크립트 함수를 호출한다.
2. RPC 통신
- Remote Procedure Call의 약자
- 서버에 만들어진 함수를 클라이언트에서 호출되는 방식으로 서버 측 API를 실행할 수 있다.
- SignalR은 클라이언트에서 호출 가능한 서버의 함수 집합을 hub라고 부른다.
- 클라이언트에서 Hub의 프록시 오브젝트를 만들어서 함수를 호출한다.
3. Hub
- SignalR은 허브를 사용해서 클라이언트와 서버간 통신을 수행한다.
- 허브는 클라이언트와 서버가 서로 존재하는 메소드를 호출할 수 있도록 해주는 고수준의 파이프라인이다.
- Hub는 클라이언트의 메소드 이름과 파라미터를 담고 있는 메시지를 전송함으로써 클라이언트의 코드를 호출한다.
- 메소드 파라미터로 전송되는 객체들은 구성된 프로토콜을 사용하며 역직렬화되어
클라이언트는 그 이름을 클라이언트 측 코드 안에 메소드와 매칭 시키려 시도한다.
- 클라이언트가 일치하는 것을 찾으면, 그 메소드를 호출하고 역질렬화된 파라미터 데이터를 그 메소드에 넘겨준다.
반응형