오래된 Computer Language인 c언어는 다른 여러 언어들에 비해 그 쓰임새가 부족하다라고 느끼는 경우가 많다. 그런 이유는 기본적으로 지원이 안되는 것이 많기 때문이다. 하지만 이러한 c언어에서 상상한 것을 구현하게 도와주는 것이 있었으니 Pointer라는 개념이다. Pointer는 프로그램에서 또다른 variable(memory location)으로 참조한다. 그 과정에서 아래의 여러 기능들을 수행할 수 있다. function(reference parameters)으로 들어오는 값들을 수정할 수 있다. group (such as an array)의 특정 member를 기억하는데 사용할 수 있다. 동적(dynamic) 메모리 할당(특히 어레이)에 사용할 수 있다. 복잡한 data structu..
이번에는 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..