1. 서버에서의 기본적인 함수 호출 순서
2. '연결 요청 대기 상태'로의 진입
- listen 함수는 전달되는 인자의 소켓을 '서버 소켓'이 되게 한다.
- listen 함수는 '연결 요청 대기 큐'를 생성 한다.
#include <sys/type.h>
int listen (int s, int backlog);
(리눅스)
*int s : 서버 소켓 파일 디스크립터.
*int backlog : 연결 요청 대기 큐 크기 지정.
#include <winsock2.h>
int listen(SOCKET s, int backlog);
(윈도우)
* SOCKET s : 서버 소켓 파일 핸들.
3. 서버의 역할과 연결요청 대기상태
- 서버 소켓은 일종의 '문지기'이다.
4. 연결요청 수락하기.
- 연결요청 대기 큐(Queue)에 존재하는 클라이언트의 연결 요청 수락.
#include <sys/type.h>
#include <sys/socket.h>
int accpet(int s, struct sockaddr * addr, int *addrlen)
(리눅스)
* struct sockaddr * addr = 주소 정보 저장 구조체 변수의 포인터 지정.
* int *addrlen : 전달하는 구조체변수 데이터의 크기 지정
#include <winsock2.h>
SOCKET accept(SOCKET s, struct sockaddr FAR *addr, int FAR *addrlen);
(윈도우)
'[+] Information > [-] Network' 카테고리의 다른 글
[2009/05/31] TCP 기반 클라이언트의 구현 (0) | 2009.05.31 |
---|---|
[2009/05/30] 예제소스(helloworld_server.c) (0) | 2009.05.30 |
[2009/05/30] TCP/IP 프로토콜 스택 (0) | 2009.05.30 |
[2009/05/27] 예제소스(endian_conv.c, endian_conv_win.c, inet_ntoa.c, inet_addr.c, bind_sock_win.c, bind_sock.c) (0) | 2009.05.27 |