본문 바로가기

소켓

16장 입출력 스트림의 분리에 대한 나머지 이야기 Half-close 생성하기 위한 조건 1. 쓰기 스트림 삭제 2. EOF 전달 half-close를 하기 위한 방법1(실패) ※ 하나의 파일 디스크립터를 기반으로 입출력 파일 포인터 생성시 하나의 파일 포인터만 종료되어도 완전 종료된다. ※ 시스템 리소스(여기서는 소켓)는 가리키는 포인터 (여기서는 파일 디스크립터)가 없을 때 종료된다. half-close를 하기 위한 방법2(성공) 파일 디스크립터의 복사함수 #include int dup(int fildes); int dup2(int fildes, int fildes2); 성공시 복사된 파일 디스크립터, 실패시 -1 반환 fildes : 복사할 파일 디스크립터 전달 fildes : 명시적으로 지정할 파일 디스크립터의 정수 값 전달 fgets() EOF.. 더보기
15장 소켓과 표준 입출력 컴퓨터 시스템 구조 저수준 입출력 함수를 이용하기 위해 open함수를 이용함 Open함수는 파일 서술자를 반환 고수준 입출력 함수를 이용하기 위해 fopen함수를 이용함 fopen함수는 파일에 대한 구조체(파일에 대한 정보가 들어있음, 파일의 현재커서위치, 파일의 끝에 도달여부, 파일의 이름 등등)를 반환 저수준 입출력 함수는 파일 서술자(= 파일을 나타내는 숫자로 표현됨)를 이용 고수준 입출력 함수는 스트림을 이용, 스트림은 버퍼를 가지고 있음 파일 서술자나 파일에 대한 구조체는 파일을 찾아가기 위한 지도라고 생각해도 됨 파일이 어디에 있고 파일에 대한 설명을 가지고 있기 때문에 파일 서술자를 이용한 입출력은 파일 서술자가 나타내는 파일에서 정보를 보내거나 받아옴 스트림(=다리)를 이용한 입출력은 파일.. 더보기
9장 소켓의 다양한 옵션 소켓의 다양한 옵션 protocol level option name 설명 get set SOL_SOCKET SO_SNDBUF 출력버퍼의 크기 O O SO_RCVBUF 입력버퍼의 크기 O O SO_REUSEADDR TIME-WAIT 상태에서도 포트에 대한 소켓을 강제해제하여 소켓을 할당 가능하도록 함 O O SO_KEEPALIVE O O SO_BROADCAST O O SO_DONTROUTE O O SO_OOBINLINE O O SO_ERROR O X SO_TYPE O X IPPROTO_IP IP_TOS O O IP_TTL O O IP_MULTICAST_TTL O O IP_MULTICAST_LOOP O O IP_NULTICAST_IF O O IPPROTO_TCP TCP_KEEPALIVE O O TCP_NOD.. 더보기