이번에는 send() 함수에 대해서 알아보겠습니다. #include #include ssize_t send(int socket, const void *buffer, size_t length, int flags); Send a message on a socket ▪ buffer에 있는 data를 bytes 길이까지 전송합니다 ▪ socket: socket file descriptor ▪ buffer: 보낼 message가 포함된 buffer ▪ length: bytes에 있는 message의 길이 ▪ flags: 전송할 message의 type입니다. • 0은 regular data에 대한 flag입니다. flags 옵션 설명 MSG_DONTWAIT 수신을 위해 대기가 필요하다면 기다리지 않고 -1을 반환..
이번에는 recv() 함수에 대해서 알아보겠습니다. #include #include ssize_t recv(int socket, void *buffer, size_t length, int flags); Receive a message from a connected socket ▪ data를 수신할 때까지 대기합니다. ▪ socket: socket file descriptor ▪ buffer: message가 저장되어야하는 buffer를 가르킵니다(point). ▪ length: the buffer argument가 가리키는 buffer의 bytes안의 길이 (buffer의 최대 길이) ▪ flags: 수용하는 message의 type • 0은 regular data에 대한 flag입니다. flags 옵션..
#include ssize_t read(int fd, void *buf, size_t count); 다음은 read() 함수에 대해 살펴보겠습니다. Read from a file descriptor ▪ 데이터가 수신(다른 socket으로부터 보낼 때)될 때까지 대기합니다. ▪ file descriptor fd(socket)에서 buf 에서 시작하여 buffer로 bytes 수를 세려고 시도합니다. ▪ Return value • Success : 읽은 bytes 수가 반환되고, file position이 이 숫자만큼 향상됩니다. - 얼마나 읽었느냐에 따라 값이 달라집니다. 「EOF(End of File, EOF)는 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음」 • Zero : EOF(indi..
client에서 사용하는 connect() 함수입니다. #include int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) Initiate a connection on a socket ▪ TCP 소켓의 경우, 서버에 대한 연결을 설정합니다. ▪ UDP 소켓의 경우, 클라이언트가 소켓 설명을 사용할 수 있도록 간단하게 서버 주소만 저장합니다. ▪ sockfd : socker에 대한 file descriptor ▪ addr : 연결하는 address ▪ addrlen : addr에 의해 가르켜진(pointed) address structure의 size (bytes) ▪Return value • Success: 0 • Failur..