본문 바로가기

Client

(4)
6. 정보를 주고 받기 - send(), recv() 1. header #include #include 2. function int send(int socket, const void *msg, size_t len, int flags); int recv(int socket, void *buf, size_t len, int flags); 1) int socket: 통신의 주체가 되는 소켓 디스크립터 send - 정보를 받을 소켓 디스크립터 주소 recv - 정보를 보내는 소켓 디스크립터 주소 2) const void *msg : 상대에게 보낼 자료의 포인터 3) void *buf : 받은 메세지를 저장할 버퍼 포인터 4) size_t len : 전송되는 메세지의 크기 (byte 단위) 5) int flags : 플레그(옵션) flags 설명 MSG_DONTWA..
4. 클라이언트에서 서버에 연결 요청하기 - connect() 1. header #include 2. function int connect(int socket, const struct sockaddr *server_address, socklen_t addrlen); 1) int socket : 서버와 연결할 소켓 2) struct sockaddr *server_address : 서버의 주소를 가지고 있는 sockaddr 구조체의 포인터 3) socklen_t addrlen : server_address 포인터가 가르키는 구조체의 크기 4) return : 성공 실패 0 -1 3. 사용 #include #include #include #include #include int main() { const int port = 80; int sock = socket(AF_IN..
1. 소켓 만들기 - socket() 1. header #include 2. function int socket(int domain, int type, int protocol); 1) int domain : 통신의 주체를 결정합니다. 아래는 상수값으로, socket.h 에 정의되어있음. domain 내용 PF_INET, AF_INET IPv4 인터넷 프로토콜을 사용합니다. PF_INET6, AF_INET6 IPv6 인터넷 프로토콜을 사용합니다. PF_LOCAL, AF_UNIX 같은 시스템 내에서 프로세스 끼리 통신합니다. PF_PACKET Low Level Socket 인터페이스를 이용합니다. PF_IPX IPX 노벨 프로토콜을 사용합니다. AF_UNSPEC 정의되어있지 않음. PF는 프로토콜 패밀리 이며, AF는 주소 패밀리 이다. PF_..
0. 리눅스 TCP/IP 통신 1. TCP/IP 통신 함수 사용순서 2. 서버 프로그램 3. 클라이언트 프로그램 이미지 출처 : http://forum.falinux.com/zbxe/index.php?document_srl=429387&mid=C_LIB