[열혈TCP/IP] 02 소켓의 타입과 프로토콜의 설정

less than 1 minute read

02 소켓의 타입과 프로토콜의 설정

02-1 소켓의 프로토콜과 그에 따른 데이터 전송 특성

  1. sorket(int domain, int type, int protocol)
    • domain : 소켓이 사용할 프로토콜 체계 정보 전달, 일반적으로 PF_INET(IPv4 프로토콜 체계를 의미하는 이름)
    • type : 소켓의 데이터 전송방식에 대한 정보 전달. 연결지향형과 비연결지향형
    • protocol : 두 컴퓨터 간 통신에 사용되는 프로토콜 정보 전달, 실제 소켓이 사용할 프로토콜 정보는 첫 번재 인자에서 지정한 범위 내에서 결정되어야 한다.
    • protocol까지 명시해야하는 경우는 “하나의 프로토콜 체계안에 데이터의 전송방식이 동잃나 프로토콜이 둘 이상 존재하는 경우”이다.
  2. 연결지향형 : 전송되는 데이터의 경계가 존재하지 않는다.
    • 여러 번에 걸쳐서 write된 데이터를 한 번의 read로 모두 읽는다. 즉, write와 read의 횟수가 일치하지 않는다.
    • Chapter1 소스코드 - hello_client.c 에서는 msg의 길이만큼 read해서 read()의 호출이 1번
    • Chapter2 소스코드 - hello_client.c 에서는 길이 1만큼 read해서 msg.length만큼 read()가 호출됨.

02-2 윈도우 기반에서 이해 및 확인하기

  • 윅속에서 return 값의 SOCKET은 정수로 표현되는 소켓의 핸들값을 저장하기 위해서 지정한 자료형일 뿐, int와 비슷하게 생각하면 된다.