글
(1) 네트워크 프로그래밍과 소켓
○ 네트워크 프로그래밍
: 원격지의 호스트들 사이에 서로 데이터를 주고 받을 수 있도록 프로그램을 구현.
○ 소켓
: 소프트웨어 차원에서 원격에 존재하는 두 호스트를 연결시켜주는 매개체.
=> 소켓 프로그래밍!
(2) 소켓통신의 전체적인 구조와 흐름
■ Server Socket
○ 소켓 생성 - 전화기 구입.
: int socket(int domain, int type, int protocol)
○ 주소및 포트 할당 - 전화번호 할당.
: int bind(int sockfd, struct sockaddr *myaddr, int addrlen)
○ 연결요청대기 - 케이블 연결.
: int listen(int sockfd, int backlog)
○ 연결수락 - 수화기를 든다.
: int accept(int sockfd, struct sockaddr *addr, int *addrlen)
■ Client Socket
○ 소켓 생성 - 전화기 구입.
: int socket(int domain, int type, int protocol)
○ 연결요청 - 전화를 건다.
: int connect(int sockfd, struct sockaddr *addr, int *addrlen)
(3) 전화와 소켓 비교
○ 전화
: 전화기를 구입하고, 전화번호를 할당하고, 케이블을 연결하고, 전화가 오길 기다리다가, 전화가 오면 승낙해서
대화하는 것.
○ 소켓
: 소켓을 생성하고, IP주소를 할당하고, 네트워크에 소켓을 연결하고, 요청을 기다렸다가, 연결요청이 오면 수락해서
데이터를 주고받는 것.
'P rogramming > Socket' 카테고리의 다른 글
3. 주소 정보의 표현 (sockaddr / sockaddr_in) (4) | 2012.02.28 |
---|---|
2. 프로토콜 정의 및 소켓 생성 - socket() (0) | 2012.02.27 |
프로토콜 체계와 주소체계 - PF_INET, AF_INET (1) | 2012.02.27 |
데이터 송수신 함수 - send(), recv() / sendto(), recvfrom() (2) | 2011.12.01 |
소켓프로그래밍 관련 함수들 (0) | 2011.04.19 |
RECENT COMMENT