본문 바로가기

Linux

(20)
3. 클라이언트의 접속요청 확인하기 - listen() 1. header #include 2. function int listen(int socket, int backlog); 1) int socket : 클라이언트의 접속요청을 받도록 설정 할 소켓 디스크립터. 2) int backlog : 대기 메시지 큐의 개수 3) return : 성공 실패 0 -1 3. 사용 #include #include #include #include #include #define PORT 80 int main() { int sock = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in addr; socklen_t len = sizeof(addr); addr.sin_family = AF_INET; addr.sin_port = htons(P..
2. 소켓에 정보 지정하기 - bind() 1. header #include 2. function int bind(int socketfd, struct sockaddr* address, socklen_t addressLength); 1) int socket : socket()등으로 생성한 소켓 디스크립터. 2) struct sockaddr* address : 주소 정보를 담은 구조체. 통신 주체에 따라서 달라집니다. struct 내용 sockaddr 기본 구조체. sockaddr_in AF_INET인 경우. (IPv4) sockaddr_in6 AF_INET6인 경우. (IPv6) sockaddr_un AF_UNIX 또는 AF_LOCAL인 경우. (Unix Domain Socket) 3) socklen_t addressLength : address..
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