■ Welcome to MintnLatte's blog! 를 출력하는 소켓 프로그램의 구현
: 연결 요청(Client) -> 문자열 전송(Server) -> 화면 출력(Client)

(1) 서버 프로그램
- 소켓 생성 : 클라이언트의 요청을 받기위해 소켓 생성
- 주소 설정 : 서버의 IP 주소와 포트를 설정
- 포트 연결 : 생성한 소켓을 설정한 주소에 연결 (바인드)
- 개통 요청 : 운영체제(커널)에 개통을 요청
- 요청 수신 : 클라이언트의 요청을 수신 (듣기소켓)
- 정보 전송 : 클라이언트와 데이터 송수신 (연결 소켓)
- 연결 종료 : 연결소켓 종료
- 서버 종료 : 듣기소켓 종료

※ 서버 IP주소를 INADDR_ANY, 포트 번호를 9000 으로 설정할 경우, 현재 서버 컴퓨터의 9000번 포트를 목적지로 하는 모든 연결 요청에 대해 해당 서버 응용 프로그램에서 처리하겠다는 의미이다. 한 컴퓨터에 여러 장의 LAN 카드가 장착되어 있어서 여러 개의 IP 주소가 할당되고, 서버 응용 프로그램은 이들 IP를 통해 들어오는 모든 연결 요청을 받아서 처리하기위함.


(2)  클라이언트 프로그램

- 소켓 생성 : 서버와 통신하기 위한 소켓 생성
- 주소 설정 : 연결하기 위한 서버의 IP 주소와 포트를 설정
- 연결 요청 : 서버에 연결 요청 (포트는 커널에서 결정)
- 정보 전송 : 서버와 데이터 송수신
- 연결 종료 : 연결소켓 종료



(3) 실행 결과

- 서버 프로그램 실행
: 서버 소켓 생성 후 클라이언트의 요청을 기다린다. 요청이 오면 문자열 전송.



- 클라이언트 프로그램 실행
: 클라이언트 소켓 생성 후 서버에 연결 요청 후 데이터를 수신하여 출력.



- 사용중인 포트 확인

: 현재 사용중인 9000번 포트 확인.




by 민트앤라떼 2013. 11. 12. 00:34