320x100

[history] 네트워크 플그래밍 공부 발자국 순서 (2007/10/29)

Posted on 2009. 5. 12. 13:09
Filed Under Programming/Network


1. tcpechoserver/tcpechoclient  : 블로킹 모드 / 단일 클라이언트 접속

2. html protocol 적용하여 만든 서버에 익스플로러(클라이언트)를 이용해 접속해보고 테스트
   [ GET / HTTP/1.1  → HTTP/1.1 200 OK ]

3. 쓰레드 사용: 다중 접속 지원을 위해 ListenThread와 RecvThread 쓰레드 함수를 만들어 돌려보자!
   서버는 받은 메시지를 접속된 모든 클라이언트에 echo해준다.
   [ WaitForMultipleObjects, CreateThread/CloseHandle ]
   → 문제점: 서버에서 받는 메시지가 여러 클라이언트에서온 메시지와 엉켜버렸다.

4. select 를 사용해보자! (쓰레드는 사용 안함) : blocking or nonblocking
   [ struct fd_set, select, FD_ZERO, FD_SET, FD_CLR, FD_ISSET ]

    typedef struct fd_set {
         u_int fd_count;
         SOCKET fd_array[FD_SETSIZE];
   } fd_set;

5. nonblocking i/o model: WSAAsyncSelect  :  윈도우 기반

6.
반응형

About

by 쑤기c

반응형