Socket : Network layer와 그 위와의 통신(양방향)
컴퓨터 간의 정보를 주고 받는 것 + IPC
- Socket Server : Listen
- Socket Client : Request
Berkeley Socket API(1:1)

Functions
socket()
: socket 생성.
creates an endpoint for communication and returns a ‘file descriptor’ for the socket
Domain
- AF_INET : IPv4
- AF_INET6 : IPv6
- AF_UNIX : 특별한 filesystem node를 사용한 local socket
Type
- SOCK_STREAM(TCP)
- SOCK_DGRAM(UDP)
- SOCK_SEQPAKCET
- SOCK_RAW : IP 위에서 바로 작성
Protocol
: c++에서 사용. 옵션을 주지 않으면 Type에 따라 정해진다
- IPPROTO_TCP
- IPPROTO_SCTP
- IPPROTO_UDP
- IPPROTO_DCCP
-
bind()
: OS 와 연결
socket()으로는 아직 주소를 할당받지 못한 상태.
다른 host와 연결 이전에 bind() 필요. 성공하면 0 return, 실패시 -1 return
Function
- sockfd : 소켓을 나타내는 descriptor(객체지향 이전에 사용)
- my_addr
- addrledn
-
listen()
: 서버측에서 TCP socket과 bound
Function
- sockfd : 소켓을 나타내는 descriptor(객체지향 이전에 사용)
- backlog : client로부터 오는 요청을 얼마나 허용할 것인지(queue)