SignalR
● SignalR을 사용하여 프로그래밍하기 이전에 간략하세 설명 및 정리를 하고 시작하겠습니다.
SignalR이란??
- "앱에 실시간 웹 기능을 추가하는 것을 간소화하는 오픈 소스 라이브러리"
- 실시간 웹 기능을 사용하여 서버 - 클라이언트 통신이 쉽다.
- 실시간 웹 기능이란? 클라이언트가 서버로 새로운 데이터를 요청하기 까지 서버가 기다리기만 하는게 아니라, 서버에서 연결되어 있는 클라이언트로 메시지를 전달 할 수 있는 능력을 의미
SignalR의 몇가지 기능
- 연결 관리를 자동으로함
- 모든 연결된 클라이언트에 메시지를 동시에 보낼수있음 ex) 챗팅
- 특정 클라이언트나 클라이언트의 그룹에 메시지를 보냄
- 서버 - 클라이언트 원격 프로시저 호출 (RPC) 생성하기 위한 API.
- 늘어난 트래픽 처리를 하도록 크기를 조정
전송 방법
- SignalR에서 실시간 통신을 할 때 아래와 같은 기술을 지원한다.
- 서버 및 클라이언트의 기능 내에서 가장 적합한 전송 방법을 자동으로 선택한다.
1. WebSockets : 서버의 메모리를 가장 효율적으로 사용, 대기시간(Latency)이 짧음
|
허브
- 허브를 사용하여 클라이언트와 서버간 통신
- 허브는 클라이언트와 서버가 서로 상대방의 메서드를 직접 호출 할수 있게 만들어줌
- SignalR은 Json 기반의 텍스트 프로토콜과 MessagePack 기반의 이진 프로토콜이라는 두가지 내장 허브 프로토콜 제공
- 클라이언트쪽 메서드의 이름 및 매개 변수를 포함하는 메시지를 전송하여 클라이언트 쪽 코드를 호출
- 매서드 매개 변수로 보낸 개체는 구성된 프로토콜을 사용하여 역직렬화됨.
- 클라이언트에서 일치하는 항목을 찾으면 메서드를 호출하여 역직렬화된 매개변수데이터를 전달
만약 누군가한테 SignalR에 대해 설명한다면?
- MS에서 제공하는 오픈 소스 라이브러리로, 서버 - 클라간 실시간 웹통신을 쉽게 가능하게 해준다.
- 전송방식은 web socket방식을 사용하며, 경우에 따라 SSE (server side event), long polling 방식으로 바뀔 수 있다.
- '허브'라는 파이프라인을 사용하여 서버 클라간 메서드 호출을 쉽게 한다.
[출처 및 참고]
반응형
'프로그래밍 > C#_SignalR' 카테고리의 다른 글
[SginalR] SignalR vs Socket.IO (0) | 2023.03.16 |
---|
댓글