ASP.NET Core SignalR을 사용하는 방식의 장점이 있나요?
718
작성한 질문수 5
- blazor server 방식은 기존의 asp.net 웹서버프로그래밍과 동일한 방식인 것으로 보입니다.
- 기존의 웹서버프로그래밍을 공부할때는 http 프로토콜을 이용해서 request, response를 하므로, stateless, 헤더 정보, get, post 등에 대해서 학습을 했었던 것으로 기억합니다.
그때의 방식과 내부적으로 SignalR을 사용하는 소켓방식과의 차이점을 알고 싶습니다. - 클라이언트의 요청이 서버에 request로 전달이 되고, 서버가 실행되어서 렌더링한 결과를, 클라이언트에게 response 해주는 것이 아닌가요? 아...근데 새로 페이지를 전부 그리는 것이 아니고, 해당 변경부분만 렌더링해서 response를 해주는 것으로 아는데...
소켓과 http 프로토콜과의 역할을 구분하여 알고 싶습니다.
답변 2
0
안녕하세요 stone님!
거의 다와가네요...하핫 아래 답변 드립니다!
HTTP 프로토콜은 클라이언트가 서버에 요청하고, 서버가 응답하는 단방향 통신을 기반으로 합니다. 그리고 HTTP 기반의 프로토콜은 stateless하다는 특성이 있습니다. 각각의 요청은 서버에 독립적으로 처리되며 서버는 상태를 유지하지 않습니다. 이로 인해 각 요청마다 모든 정보를 새로 전달해야 했습니다ㅠㅠㅠ
그런데 Blazor Server는 SignalR을 통해 소켓을 사용하여 실시간 양방향 통신을 지원합니다. 서버와 클라이언트 간에 지속적으로 연결을 유지하며, 서버에서 상태를 유지합니다. 이를 통해 브라우저와 서버 간에 실시간으로 데이터를 전달하고 상태를 공유할 수 있습니다.
즉 서버에서 클라이언트로도 데이터를 전송할 수 있게 하고, 클라이언트에서 서버로 요청을 보낼 수 있습니다. 그러다보니 Blazor Server는 실시간으로 데이터 업데이트를 처리할 수 있어서, 여러 사용자가 동시에 작업하는 협업 애플리케이션 등에 유용합니다!
말씀하신대로 변경점만 부분적으로 페이지 업데이트를 합니다! 아래 댓글 답변도 같이 미리 드리자면, 클라이언트에서 발생하는 이벤트가 있을 때, Blazor Server는 SignalR을 사용하여 서버에 해당 이벤트를 보내고, 서버는 이를 처리하고 적절한 응답을 클라이언트로 다시 보내게 됩니다. 이러한 구조로 인해 전체 페이지를 새로 고치지 않고도 부분적인 업데이트가 가능합니다!
답변 드리는게 너무 늦어서 죄송하다는 말씀도 드립니다ㅠ_ㅠ
남은 강의 잘 들으시고, 다른 질문 있으시면 언제든 문의 주세요 :)
감사합니다~!
1
답변 주셔서 감사합니다.
"Blazor Server는 실시간으로 데이터 업데이트를 처리할 수 있어서, 여러 사용자가 동시에 작업하는 협업 애플리케이션 등에 유용합니다!"
=> 이 부분이 이해가 잘 안가는데요... A사용자와 B사용자가 각각 같은 페이지를 브라우저에 띄워 놓은 상태에서 A사용자가 데이터를 변경해서 서버에 전달이 되면...A사용자 뿐만 아니라 B사용자의 화면에서도 변경된 데이터가 보인다는 말씀인가요???
0
A사용자와 B사용자가 각각 같은 페이지를 브라우저에 띄워 놓은 상태에서 A사용자가 데이터를 변경해서 서버에 전달이 되면...A사용자 뿐만 아니라 B사용자의 화면에서도 변경된 데이터가 보인다는 말씀인가요??? ==> 제 경험상 이런 일이 발생할 경우 각각의 클라이언트 pc 화면에서 새롭게 렌더링 하지 않는 이상 화면이 변하지는 않았습니다~!
섹션7 수업자료 업로드 부탁드립니다.
0
13
2
Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의
0
14
1
프로젝트 질문 문의
0
42
1
Radzen.Blazor.RadzenTheme 오
0
262
4
Class 설계 후 Razor 에서 호출!
0
96
1
wpf 응용 질문
0
80
1
올려주신 소스코드 관련해서 질문드립니다.
0
178
2
Radzen 설치 관련해서 오류가납니다.
0
152
1
안녕하세요, Radzen 관련 질문 드립니다
1
268
1
PostgreSQL 설치
0
234
1
BlazroServerMaster를 인식하지 못하고 있는데요.
1
307
1
PostgreSQL 문의
2
254
1
버튼이 하나만 나오는 경우
2
218
1
새로운 테이블 추가방법?
1
309
2
삭제 후, GRID 재조회
1
334
2
화면 갱신
1
299
1
Blazor web app 생성할때 질문있습니다.
1
761
1
솔루션 배포(게시) 부분에서 질문있습니다.
1
376
1
razor 문법에서의 @표기
1
346
1
Grid 컴포넌트 사용에 대해서 질문있습니다.
1
382
2
홈페이지 실행
1
205
1
? 코딩하는 이유
1
318
1
BackUp DB > Failed
1
470
2
수업자료가 어디있는 거죠?
2
342
1





