본문 바로가기
네트워크

TCP 서버/클라이언트 두자리 자연수 합 구하는 연산식 통신

by 송파감자 2023. 5. 19.

에티버스러닝에서 K-digital트레이닝으로 VR과정을 수강하는데, 오늘 세번째 네트워크 수업을 들었다.
금일 배운 내용 중 저번주 배웠지만 또 봐도 새로운 내용을 아래와 같이 정리하면서 머리에 쏙쏙 넣어보겠다.
 
아래 코드는 TCP 서버  코드이고, 클라에서 두자리 자연수 더하기 연산식(10+20)을 보내면 서버에서 계산해서 클라에게 답(10+20=30)을 보내주는 코드이다.
 

서버


line19

  • 소켓 만들기(주소체계, 소켓타입, 프로토콜)
  • 일반적으로 같은 소켓타입이어도 프로토콜이 두개 이상 존재함. 그래서 세번째 인자로 명시적으로 지정하는데, TCP에서는 앞에 두개 인자만으로도 프로토콜 결정할 수 있어 대부분 0을 넣는다)
  • AF_INET
    • IPv4기반 TCP 프로토콜 이용할 때의 주소체계
  • SOCK_STREAM
    • 신뢰성 있는 데이터 전송 기능 제공, 연결형 프로토콜

 

line 26

  • sin_family
    • 주소체계를 의미함
    • AF_INET 값을 사용함
  • sin_addr
    • IP 주소 의미함
    • 32비트 in_addr 구조체 타입!
  • sin_port
    • 포트 번호를 의미함
    • 부호 없는 16비느 정수값 사용

line 41

  • accept(클라이언트 접속 수용하는 소켓, 접속한 클라의 주소 정보, 소켓주소 구조체의 크기)

 
 

line 50

  • substr( 첫번째 문자의 위치, 부분 문자열의 길이 )
    • 문자열의 일부를 리턴해주는 함수
    • 예시 10+20이 있을 때
      • Temp.substr(0, 2)는
        • 0번째 위치: 1
        • 길이가 2면 ->"10"을 반환
      • Temp.substr(2,1)은
        • 2번째 위치: +
        • 길이가 1이면-> "+"반환
      • Temp.substr(3,2)는
        • 3번째 위치: 2
        • 길이가 2면 ->"20"반환

 

line 54

 

line 59

_itoa, _itow 함수

_itoa 및 _itow 대한 API 참조 정수 를 문자열로 변환하는 입니다.

learn.microsoft.com