리눅스 IPC 프로그래밍 - 이론과 실습
리눅스 IPC 프로그래밍 - 이론과 실습
수강정보
(7개의 수강평)
177명의 수강생
스킬태그 #Back-End, #Linux
55,000원
지식공유자 : ProgCoach4U
29회 수업 · 총 11시간 27분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 중급이상
크누파크 프로필

거의 모든 함수를 static 선언하시는 이유는 무엇인가요? 크누파크 2시간 전
안녕하세요? 수강 중인 학생입니다. 다름이 아니라, 몇 가지 질문이 있어서 질문을 드립니다. 1.  거의 모든 함수를 static으로 쓰시는 이유는 무엇인가요? 2. static inline void func (void..) 과 같이 static inline 함수를 사용해도 되나요?

0
rjsdud582 프로필

SHM_REMAP rjsdud582 28일 전
shmat에서 기존의 매핑된 영역에 remap을 하는 SHM_REMAP 플래그가 있는데 이거는 보통 무슨 용도인가요?  왜  매핑된 영역에 다시 매핑을 하는거죠?  +) 그리고 이건 좀 벗어난 질문인데, mask와 flag의 차이가 무엇인가요? 듣다보면 그냥 뭔가 혼용되어서 쓰게되는 것 같아서요... 감사합니다.

2
rjsdud582 프로필

recvfrom 질문 rjsdud582 1달 전
코드를 아래와 같이 작성한 후 printf("%s", rec.sun_path); 를 했는데 그냥 empty 합니다. 주소를 받아오고 싶은데 어떻게 해야하나요?

6
에스원 프로필

컴파일 질문입니다 에스원 3달 전
우분투(Ubuntu 16.04.4)환경에서  리눅스IPC프로그래밍 실습을 하고 있습니다.  mq_posix.c를 make로 컴파일 시도했지만 mq_posix.c:(.text+0x31): undefined reference to `mq_open' mq_posix.c:(.text+0x75): undefined reference to `mq_getattr' /tmp/cc5d8SvV.o: In function `do_send': mq_posix.c:(.text+0x1a9): undefined reference to `mq_send' /tmp/cc5d8SvV.o: In function `do_recv': mq_posix.c:(.text+0x248): undefined reference to `mq_receive' 이런 오류가 나오면서 함수들을 찾지 못하더라구요 . 헤더파일들도 정상적으로 include 한 상태였는데도요. 구글링 해서 컴파일에 "-lrt"를 추가하면 된다고 해서 gcc -g -Wall -o mq_posix mq_posix.c -lrt 라는 명령으로 컴파일을 했더니 성공했습니다 원초적인 질문인거 같은데.. 왜 선언한 헤더파일의 함수를 못 찾았고 lrt라는 명령으로 컴파일이 성공했는지 궁금합니다.

1
jglee81 프로필

partial send/recv에 관하여 jglee81 3달 전
어떤 상황에서 partial send 또는 recv 가 발생하는지 그리고 수업에서 partial send, recv를 처리하는 방법에 대한 문의입니다. partial send : - 내 시스템의 send sock buffer가 꽉 찬 경우... - send sock 이 nonblock 옵션인 경우... 맞는지요??? 반면에 partial recv 같은 경우는 어떤지요.  그리고 상대방이 몇 바이트의 패킷을 보낼지 모르는 경우에는 보통 아래 len를 어떻게 설정하나요? 되도록 패킷이 짤리지 않고 받게 하려면 버퍼를 크게 잡고 len를 최대한 크게 하는게 맞는 것인지 그리고 partial recv와는 반대로 2, 3개의 패킷이 한번에 수신되는 경우도 있습니다. 그럼 결국 수신버퍼를 circular Queue 처럼 구현해야 하는 건가요??? 상대방이 어떻게 보내더라도 수신 데이터 파싱할때 데이터 유실없이 구현하는게 목적입니다. 보통 수신 버퍼 관리를 어떻게 하는지 모범(?)사례를 보고  싶습니다.  강사님. 감사합니다.  recv( SockFd, ( char * )&RcvBuf, len, 0 );

1
jglee81 프로필

스레드끼리의 통신에도 적용가능한가요? jglee81 3달 전
사정상 동일 프로세스를 여러사람이 나누어서 작업중입니다. 본 강좌의 IPC 도구들을 동일 프로세스의 여러 스레드 간에도 적용이 가능한지요>>>???

1
염정원 프로필

File Lock API - 정리 table에서 multi-thread 사용가능시.... 염정원 6달 전
교재내용 File Lock API - 정리 table(P15)에서  multi-thread 사용가능시 fcntl()과 flockfile()에서의 의미를 다르게 설명해놓으셨는데요. 두개의 구분이 잘안됩니다. 부언 부탁드립니다.

1
김선진 프로필

WSL Ubuntu에서 메시지 큐 김선진 7달 전
안녕하세요 윈도우10에서 WSL Ubuntu 18.04 LTS 환경에서 수업을 듣고 있는데 메시지큐부터 컴파일은 잘 되는데 실행하면 아래와 같이 나옵니다  mq_open(): Function not implemented init_msgq(): Function not implemented 1. 같은 코드를 CentOS에서 돌려보니 잘 되긴 하는데 윈도우에서 하는 방법은 없을까요? (lsp도 들었는데 지금까지 잘 됐습니다 ) 2. -lrt 옵션을 줘야한다고 되어있는데 Makefile 어디를 수정해야하는지 모르겠어서 gcc 직접 하고 있습니다 ㅠ 답변 부탁드립니다~! ps. 웹 개발자인데 너무 재밌게 잘 듣고 있습니다. 감사합니다

1
JJ 프로필

shared memory(14강) live programming file mapping 에 관한 질문입니다. JJ 8달 전
monitor( ) 코드에서 ' close(fd); ' 가 while 문 전에 위치하는데, 이 부분이 잘 해석이 안됩니다.  얼핏 생각해서는 munmap( ) 처럼 모든 일을 마무리하고 함수를 빠져 나가기 직전에 해 주는 것이 '더 적절한'  것이라 생각했는데, 실제 코드는 별 무리없이 작동하기에 더 해석이 안되는 것 같습니다.  file mapping 을 통한 shared memory 방식은 실제로는 file I/O 이므로, mmap( ) 이후에 함수 빠져나가기 직전까지  계속해서 스트림이(이 표현이 맞는건지는 잘 모르겠네요..) 살아 있어야 할 것 같은데, 실제로는 그렇게 하지 않아도 코드가 잘 실행되서 잘 이해가 안됩니다. 

1
MIKE 프로필

에러 - bind(): Address already in use MIKE 8달 전
안녕하세요. 서버를 1번실행하고 다시 실행하면 아래와 같은 에러가 발생합니다. 어떻게 처리해야 하나요? bind(): Address already in use 오류가 발생할때 마다 sock_stream_un 파일을 삭제하면 서버를 다시 실행가능합니다만, 다른 방법은 없는지 답변 부탁드립니다.

1
MIKE 프로필

POSIX MQ의 설정 문의 MIKE 8달 전
mq_maxmsg  = 10 mq_msgsize = 8192 mq_open에서 위의 설정을 변경하면 오류가 발생합니다. 해당 값을 변경해서  mq를 만들려면 어떻게해야하나요?

2
Seyoung Cheon 프로필

accept 함수에 대한 문의 Seyoung Cheon 9달 전
accept 함수부분 설명에서 두번째와 세번째 파라미터에 NULL을 준다고 하셨는데, 왜 NULL을 주는 건지? bind함수처럼 지정하면 안되는지 궁금합니다.

1
Andy Ahn 프로필

datagram socket 구현시 recvfrom에서 블록킹됩니다. Andy Ahn 11달 전
https://github.com/positoy/study/blob/master/IPC/06_socket_datagram.c 위 코드인데요. recvfrom의 flag를 MSG_DONTWAIT 으로 변경하면 다음처럼 write가 잘 안된 것처럼 안내합니다. failed to recvfrom: Resource temporarily unavailable 원인이 무엇일까요?

1
유영재 프로필

counting semaphore에 대해서 질문이 있습니다 유영재 2019.07.25
counting semaphore가 사용되는 예를 알 수 있을까요? 너무 mutex에 집중되다보니 하나의 자원을 동시에 n명이 접근해도 되는건지가 의문이고 어떠한 경우에 사용되는지 모르겠습니다

3
유영재 프로필

read API가 많이 헷갈립니다 유영재 2019.07.25
snprintf(buf, sizeof(buf), "this is msg from sock_stream"); buf에 저렇게 저장해서 보내면 받는 쪽에서 read로 받을텐데 read API를 자세히 보면 EOF를 만났을 때 0을 리턴한다는데 실제로는 저 버퍼에는 EOF라는 -1이 들어가지 않고, 널문자로 마무리하는데 어떻게 EOF를 인식하는거죠? 자동으로 들어가는건가요?

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스