더북(TheBook)

3.9 복습 문제

 

1. 소켓 라이브러리는 POSIX 계열과 윈도 사이에 어떤 차이점들이 있는가.

2. 소켓으로 접근할 수 있는 TCP/IP 계층 두 가지는 무엇인가?

3. TCP 서버가 연결된 각 클라이언트마다 소켓을 따로 만드는 이유와 그 방법에 대해 설명해 보자.

4. 소켓에 포트를 바인딩하는 방법과 이것이 무엇을 뜻하는지를 설명해 보자.

5. SocketAddressSocketAddressFactory 예제를 IPv6 주소도 지원하게 개조해 보자.

6. SocketUtils 클래스가 TCP 소켓의 생성해 주는 스태틱 멤버 함수를 구현해 보자.

7. TCP를 써서 채팅 서버를 구현해보자. 우선 클라이언트 하나의 접속만 받아 이 클라이언트가 보낸 메시지를 그 클라이언트에게 릴레이 혹은 에코(echo), 즉 도로 보내도록 구현해 보자.

8. 이제 채팅 서버가 여러 클라이언트의 접속을 받을 수 있게 개량하자. 클라이언트에는 논블로킹 소켓을 사용해 보고, 서버에는 select()를 사용해 보자.

9. TCP 수신 윈도의 최대 크기를 코드로 제어하려면 어떻게 해야 하는지 설명해 보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.