작성
·
435
1
답변 2
0
안녕하세요 stone님!
거의 다와가네요...하핫 아래 답변 드립니다!
HTTP 프로토콜은 클라이언트가 서버에 요청하고, 서버가 응답하는 단방향 통신을 기반으로 합니다. 그리고 HTTP 기반의 프로토콜은 stateless하다는 특성이 있습니다. 각각의 요청은 서버에 독립적으로 처리되며 서버는 상태를 유지하지 않습니다. 이로 인해 각 요청마다 모든 정보를 새로 전달해야 했습니다ㅠㅠㅠ
그런데 Blazor Server는 SignalR을 통해 소켓을 사용하여 실시간 양방향 통신을 지원합니다. 서버와 클라이언트 간에 지속적으로 연결을 유지하며, 서버에서 상태를 유지합니다. 이를 통해 브라우저와 서버 간에 실시간으로 데이터를 전달하고 상태를 공유할 수 있습니다.
즉 서버에서 클라이언트로도 데이터를 전송할 수 있게 하고, 클라이언트에서 서버로 요청을 보낼 수 있습니다. 그러다보니 Blazor Server는 실시간으로 데이터 업데이트를 처리할 수 있어서, 여러 사용자가 동시에 작업하는 협업 애플리케이션 등에 유용합니다!
말씀하신대로 변경점만 부분적으로 페이지 업데이트를 합니다! 아래 댓글 답변도 같이 미리 드리자면, 클라이언트에서 발생하는 이벤트가 있을 때, Blazor Server는 SignalR을 사용하여 서버에 해당 이벤트를 보내고, 서버는 이를 처리하고 적절한 응답을 클라이언트로 다시 보내게 됩니다. 이러한 구조로 인해 전체 페이지를 새로 고치지 않고도 부분적인 업데이트가 가능합니다!
답변 드리는게 너무 늦어서 죄송하다는 말씀도 드립니다ㅠ_ㅠ
남은 강의 잘 들으시고, 다른 질문 있으시면 언제든 문의 주세요 :)
감사합니다~!
A사용자와 B사용자가 각각 같은 페이지를 브라우저에 띄워 놓은 상태에서 A사용자가 데이터를 변경해서 서버에 전달이 되면...A사용자 뿐만 아니라 B사용자의 화면에서도 변경된 데이터가 보인다는 말씀인가요??? ==> 제 경험상 이런 일이 발생할 경우 각각의 클라이언트 pc 화면에서 새롭게 렌더링 하지 않는 이상 화면이 변하지는 않았습니다~!
0
답변 주셔서 감사합니다.
"Blazor Server는 실시간으로 데이터 업데이트를 처리할 수 있어서, 여러 사용자가 동시에 작업하는 협업 애플리케이션 등에 유용합니다!"
=> 이 부분이 이해가 잘 안가는데요... A사용자와 B사용자가 각각 같은 페이지를 브라우저에 띄워 놓은 상태에서 A사용자가 데이터를 변경해서 서버에 전달이 되면...A사용자 뿐만 아니라 B사용자의 화면에서도 변경된 데이터가 보인다는 말씀인가요???