본문 바로가기
CS/네트워크

[윤성우의 열혈 TCP/IP 소켓 프로그래밍] TCP 기반 서버/클라이언트 1

by merona99 2019. 2. 5.
반응형

TCP 기반 서버/클라이언트

 

 

 

TCP/IP 프로토콜 스택

  • 인터넷 기반의 데이터 송수신을 목적으로 설계된 스택
  • 큰 문제를 작게 나눠서 계층화 한 결과
  • 데이터 송수신ㅇ의 과정을 네 개의 영역으로 계층화 한 결과
  • 각 스택 별 영역을 전문화하고 표준화 함
  • 7계층으로 세분화가 되며, 4계층으로도 표현함
 

TCP/UDP 계층의 기능 및 역할

  • 실제 데이터의 송수신과 관련 있는 계층
  • 전송계층 이라고도 함
  • TCP는 데이터의 전송을 보장하는 신뢰성 있는 프로토콜, UDP는 보장하지 않는 프로토콜
  • TCP는 신뢰성으르 보장하기 때문에 UDP에 비해 복잡한 프로토콜
 

APPLICATION 계층

  • 응용프로그램의 프로토콜을 구성하는 계층
  • 소켓을 기반으로 완성하는 프로토콜
  • 소켓을 생성하면, 앞서 보인 LINK,IP,TCP/UDP 계층에 대한 내용은 감춰짐
  • 응용 프로그래머는 APPLICATION 계층의 완성에 집중하게 됨
 
 
listen함수를 호출하면 서버의 연결요청 대기실에 들어가게 되고 서버소켓이 됨
서버소켓 = 문지기 역할
accept함수를 호출하면 소켓이 하나 생성되어 연결이 완료
 
 
 

서버 - 클라이언트 관계

Iterative 서버의 구현

 

다수의 클라이언트로부터 서비스를 제공할 수 있는 서버

 

  • 반복적으로 accept 함수를 호출하면, 계속해서 클라이언트의 연결요청을 수락할 수 있음
  • 동시에 둘 이상의 클라이언트에게 서비스를 제공할 수 있는 모델은 아님

 


참고 문서 : 윤성우의 열혈 tcp/ip 소켓 프로그래밍

 

//나는 채팅프로그램을 만들어야하니 Iterative 서버를 구현해야 할 거 같다.

반응형

댓글