네트워크플밍 3.소켓 api

ttomy·2022년 3월 28일
0

네트워크플밍

목록 보기
2/2
post-thumbnail
post-custom-banner

네트워크 주소

소켓 주소

소켓 주소 관련 구조체: sockaddr

소켓에 주소를 설정하는 함수:bind()

바이트 순서

빅 엔디안

좌->우, 메모리 작은 주소->큰 주소 / 일반적으로 글 읽는 순서
상위바이트가 메모리의 작은 주소에 저장

리틀 엔디안

우->좌, 메모리 큰 주소-> 작은 주소로 바이트가 적힘
하위 바이트 값이 메모리의 작은 주소에 저장

-> intel계열 컴퓨터는 리틀 엔디언 방식을 사용하기에 네트워크에 전송하기 전에 변환이 필요함.

주소변환

ipv4주소/ 이진수(네트워크 바이트 정렬,호스트 바이트 정렬) 변환

inet_addr()

IPv4주소(ex:123.0.0.1)를 이진수(32비트 숫자),네트워크 바이트 정렬로 변환

inet_network()

IPv4주소32비트 숫자,호스트 바이트 정렬로 변환

inet_aton

ipv4주소 -> 이진주소,네트워크바이트 정렬로 변환

inet_ntoa

네트워크바이트 정렬,이진주소 -> ipv4주소

inet_pton

presentation to numeric
->아스키string 주소(af address family ip주소) to 이진 주소, 셋쨰 인자에 copy해줌

inet_ntop

호스트 이름과 IP주소

hostent의 구조체
gethostbyname()
호스트 이름을 이용해 IP주소를 조회할 수 있다.

소켓 프로그램

TCP서버-클라이언트 동작,원리

tcp서버는 대기(listen)하고 있다가 tcp클라이언트가 connect하면 accept해서 연결됨.-> 서버와 클라이언트가 send,recv를 주고받다가 끝나면-> closesocket

  • listen()
  • accept()
  • connect()
  • send()
  • recv()
post-custom-banner

0개의 댓글