inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 IPC 프로그래밍 - 이론과 실습

- Live Programming(Stream Socket - Part 1)

소켓을 이용한 IPC는 기존 다른 방식들과 어떠한 점이 차이가 있나요??

285

젓인

작성한 질문수 158

0

궁금합니다!

linux

답변 1

0

런잇(ProgCoach4U)

socket은 네트워크 상에서 통신을 하기 위한 종단점으로 추상화된 개념 입니다. 기본적으로 시스템 내부 혹은 시스템 외부의 다른 프로세스와 네트워크 통신하기 위해 사용되죠. 이렇게 넓은 기능/개념 중에서 우리는 소켓을 IPC에 사용하기도 하는 것이죠.

소켓에 여러 가지 기능이 있습니다. stream 형식으로 사용할 수도 있고, datagram 형식으로 사용할 수도 있습니다. 또 Internet domain으로 바인드할 수도 있고, unix domain으로 바인드해서 사용할 수도 있습니다. 경우에 따라서는 외부 프로세스와도 통신을 하면서 내부 프로세스와도 통신을 할 수도 있습니다. 소켓이 네트워크 기능을 담고 있다보니 네트워크 기능을 이용해 IPC로도 사용할 수 있습니다. 예를 들자면, multicast를 이용해 IPC를 할 수도 있겠죠. 또, netlink socket과 같은 특수한 기능을 사용할 수도 있습니다. 

이처럼 소켓을 이용해 IPC를 하고자 한다면 소켓의 다양한 기능을 사용할 수 있다는 점이 가장 큰 장점이 되겠습니다. 대신 기능이 다양한 만큼 사용하기에 조금 까다로울 수 있겠죠? :)

 

fork() 후 address

0

40

2

bind(): Address already in use

0

59

2

POSIX named semaphore 자원이 제대로 해지되지 못한 상태로 프로세스가 종료됐을 때 해당 semaphore 재사용 방법

0

216

2

강의 순서

0

262

1

강의자료 질문

0

244

1

수업 관련 질문

0

354

3

안녕하세요! 메세지 큐 방식에 대해 질문있습니다.

0

268

1

리눅스는 디버깅이 없나요?

1

722

1

fcntl 에서 Read/Write 기능

1

354

1

시스템 프로그래밍 향후 공부

1

507

1

Shared Memory와 동기화 관련

1

1182

1

거의 모든 함수를 static 선언하시는 이유는 무엇인가요?

1

2328

1

SHM_REMAP

1

318

2

recvfrom 질문

1

715

6

컴파일 질문입니다

1

675

1

partial send/recv에 관하여

1

670

1

스레드끼리의 통신에도 적용가능한가요?

1

375

1

File Lock API - 정리 table에서 multi-thread 사용가능시....

1

412

1

WSL Ubuntu에서 메시지 큐

1

464

1

shared memory(14강) live programming file mapping 에 관한 질문입니다.

1

205

1

에러 - bind(): Address already in use

1

1138

1

POSIX MQ의 설정 문의

1

604

2

accept 함수에 대한 문의

1

295

1

datagram socket 구현시 recvfrom에서 블록킹됩니다.

1

1507

1