반응형

socket 2

Beej's Guide to Network Programming 요약, Part 2. Slightly Advanced Techniques

마지막 한 섹션이지만, 그 내용도 어려워지고 번역하기도 어려워져서 Part 2로 따로 쓰게 되었다. 역시나 미사여구는 쳐 내고 핵심 내용 중심으로 옮겼으니, 원문도 꼭 읽어보시기 바란다. 7. Slightly Advanced Tenchniques 7.1. Blocking "Block"은 "sleep"을 기술적으로 멋지게 하는 말이다. listener를 실행할 때 보면 알 수도 있을텐데, recvfrom()을 실행했을 때 들어오는 데이터가 없다면 recvfrom()은 거기서 데이터가 올 때 까지 "block"하고 있다 (잠깐 자고 있다)는 것이다. 많은 함수들이 block 한다. accept()이나 모든 recv() 함수들이 그렇다. Block이 가능한 이유는? 그렇게 할 수 있도록 kernel의 허락을 ..

Programming 2019.09.14

Beej's Guide to Network Programming 요약, Part 1

최근에 (1년 전에?) 제일 정리하고 싶었던 글인데, 실제로 network programming이 절실할 때가 와서야 하게 되었다 (흑흑). 원문은 Network programming에 대해 모르는 개발자에게 딱 좋은 튜토리얼이라고 생각한다. 여러 미사여구와 필자의 썰은 가지쳐내고 핵심적인 내용만 정리해본다 (Part 2 대기 중). 2. What is a Socket? Socket은 standard Unix file descriptor를 통해서 다른 프로그램과 소통하는 통로이다. 이 file descriptor는 socket() system routine을 호출해서 얻는다. 그리고 send()와 recv() socket call을 이용해 통신할 수 있다. 다른 file descriptor처럼 read(..

Programming 2019.07.28