1. 클라이언트 서버 환경에서 통신할 때 두 가지 다른 통신 전략에 대해서 쓰고 두 방식에 대한 차이점을 쓰시오.

→ 원격 프로시저 프로토콜의 경우 별도의 코딩 없이, 상위 계층에서의 통신이 가능하나 소켓의 경우 트랜스 포트 계층으로 넘기는 별도의 코딩이 필요하다.

⇒ RPC같은 경우 높은 계층에서 다루고, 소켓에서 구현하기 어려운 걸 보완하기 위하여 사용하지만 소켓의 경우

  1. 보통 채팅같은 실시간 데이터 전송은 소켓으로 구현하는데 이를 왜 RPC로 구현하지 않고 소켓으로 구현하는지에 관하여 쓰시오.

→ RPC는 오버헤드 같은 문제 때문에 데이터 송수신이 낮은 계층에서 송수신되는 소켓보다 느리기 때문에 보통 소켓을 사용한다.

RPC 를 왜 구현할까?…..소켓이 있음에도 불구하고…..

[ClientRpc]
    private void RpcChangeColor(int number, Color color)
    {
        floors[number - 1].SpriteRenderer.color = color;
    }