Blocking vs. Non-blocking Blocking 프로세스가 시스템을 호출하고 나서 결과가 반환되기까지 다음 처리로 넘어가지 않는 상태. 즉, block이 된 상태를 말한다. Non-blocking 시스템을 호출한 직후에 프로그램으로 제어가 돌아와 시스템 호출의 종료를 기다리지 않고 다음 처리로 넘어갈 수 있다. I/O(입출력)가 길어지는 경우 블로킹이면 대기시간이 길어지기 떄문에 논블로킹 사용한다. 좌측 코드는 서버, 우측 코드는 클라이언트의 코드이다. 서버 코드에서는 소켓을 바인딩하고, while문을 통해 accept(연결)를 기다린 후 데이터를 수신한다. 클라이언트 코드에서는 ip 주소와 포트번호를 설정하여 연결을 생성하고 "HelloWorld\n"라는 문자열을 300 * 1024 * ..