이번에는 send() 함수에 대해서 알아보겠습니다.
#include <sys/types.h>
#include <sys/socket.h>
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을 반환하면서 바로 복귀 |
MSG_NOSIGNAL | 상대방과 연결이 끊겼을 때, SIGPIPE 시그널을 받지 않도록 합니다. |
▪ Return value
• Success: 전송된 bytes의 수 • Error:-1
▪Example
write(sock, "123", strlen("123"));
send(sock, "4", strlen("4"), MSG_OOB);