inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Học hệ điều hành dễ dàng qua hình ảnh

Giao tiếp liên tiến trình

rpc와 소켓(tcp)차이

Đã giải quyết

1550

wishks146178

102 câu hỏi đã được viết

1

컴퓨터간 통신에 있어서 소켓을 사용한다고 했는데

이게 rpc 방식하고는 다른건지 

헷갈리는데 정리좀 부탁드립니다. 감사합니다.

운영체제

Câu trả lời 2

1

wishks146178

우와 감자 정말 최고에요 감사합니다

1

gamja5

소켓통신은 두 컴퓨터를 파이프로 연결해서 데이터를 주고 받는 통신입니다.
이 말은 결국 RPC도 소켓통신을 통해 이루어진다는 말입니다!

RPC도 결국 소켓을 사용합니다.
RPC는 프로토콜(약속)입니다.
RPC를 사용하는 이유는 소켓통신으로 구현하기 힘든 기능을 수월하게 구현할 수 있도록 해줍니다.

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

이건 제가 만들었던 게임에서 RPC를 사용한 예시인데요.
한 유저가 바닥의 색을 변경하면 다른 모든 유저의 바닥의 색이 바뀌는 함수입니다.
클라이언트에서는 단지 RpcChangeColor(바닥의 id, 바꿀 색) 을 호출해주기만 하면 됩니다.
하지만 이걸 소켓통신으로 구현하려면 직관적이지 않은 방법으로 구현하게 될겁니다.


이 사진의 TCP/IP모델로 말씀 드리면 소켓통신은 전송계층(TRANSFORM)에, RPC는 어플리케이션계층에 있습니다.
RPC는 전송계층위에 있는 상위 계층입니다.

프로그램과 프로세스 강의 3분47초

1

635

1

컴파일 과정

1

545

1

페이징&가상메모리 관련 질문 드립니다.

1

394

1

페이징(배치정책) CPU에 논리주소를 물리주소로 전달해 줄때 계산 단위

1

470

1

운영체제의 역사 영상에서

1

470

2

프로세스 동작 및 스케줄링 알고리즘 관련 질문 드립니다.

1

488

1

인터럽트 발생 시점과 비동기 방식

1

583

2

PCB 상태 실행에서 대기 상태에서 준비 상태로 변경시

1

460

2

프로세스 동기화 질문 드립니다.

1

340

1

부모 프로세스는 프로그램을 실행하지 않아도 생기는 건가요?

1

410

1

페이지드 세그멘테이션 기법에서 메모리 주소 변환 할때요

4

397

1

오버헤드란?

1

4033

1

논리주소와 BoundAddress의 비교에 대한 질문

1

305

1

MLFQ 알고리즘

2

401

1

FIFO 알고리즘 / RR 알고리즘

1

439

1

블로그 업로드 질문

1

376

1

다중큐 강의에서 I/O 작업시 질문

2

243

1

예제코드 질문

1

297

1

하드디스크와 메모리 질문 있습니다!

0

215

1

컴파일 과정 예시와 관련해서 질문드립니다!!

1

271

1

예제 코드 관련 질문입니다!

1

252

1

공유 메모리 및 프로세스 생성 관련

3

491

1

레지스터 관련

2

387

1

"컴파일과 프로세스" 강의 1분 37초

1

237

1