socket() 함수는 어떤 함수일까요?
#include <sys/socket.h>
int socket(int domain, int type, int protocol)
Create an endpoint for communication
▪ domain: 통신을 진행할 영역입니다. protocol family를 지정합니다.
• PF_INET: IPv4 • PF_INET6:IPv6
▪type: service의 type입니다. 어떤 type의 protocol을 사용할지 결정합니다.
• SOCK_STREAM:TCP • SOCK_DGRAM:UDP • SOCK_RAW:rawIP
▪protocol: specifies the specific protocol
•Usually 0 which means the default •IPPROTO_TCP(TCP일때) •IPPROTO_UDP(UDP일때)
▪ Return value
• Success: 새로운 socket에 대한 file descriptor를 반환합니다. • Error: -1
▪ Example
//TCP Socket
sock = socket(PF_INET, SOCK_STREAM, 0); if (sock == -1)
error_handling("socket() error");
//UDP Socket
sock = socket(PF_INET, SOCK_DGRAM, 0); if (sock == -1)
error_handling("socket() error");