Develop
2003.04.23 10:45

[c] 소켓주소 구조체에 대해..

Views 6727 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
소켓을 이용할 통신객체(클라이언트/서버)의 구체적인 주소를 표현하기 위해
주소체계(address family), IP주소, 포트번호 세가지가 지정 되어야 하며
이 세가지 주소 정보를 소켓주소(socket address)라고 부른다.

소켓 프로그래밍에서는 소켓주소를 담을 구조체 sockaddr을 정의 하였다.
2바이트의 address family 와 14바이트의 주소(IP 주소 + 포트번호)

---------------------------------------------------------
  struct sockaddr{
      u_short sa_family; // address family
      char sa_data[14]; // 주소
  };
---------------------------------------------------------

그러나 위의 소켓구조체에서 IP주소, 포트번호 등을 직접 쓰거나 읽기가 불편하므로
인터넷프로그래밍에서는 sockaddr 구조체 대신
4바이트의 IP주소와 2바이트의 포트번호를 구분하여 지정할 수 있는
인터넷 전용 소켓 주소 구조체 sockaddr_in 을 주로 사용한다.

---------------------------------------------------------
  struct in_addr{
      u_long s_addr; // 32비트의 IP주소를 저장할 구조체
  };

  struct sockaddr_in{
      short sin_family;           // 주소체계
      u_short sin_port;           // 16비트 포트번호
      struct in_addr sin_addr; // 32비트 IP주소
      char sin_zero[8];         // 16바이트 크기를 맞추기 위한 dummy
  };
---------------------------------------------------------

위에서 주소체계 sin_family로 선택할 수 있는 것은 다음과 같다.
인터넷에서는 항상 인터넷 주소체계()를 선택하여야 한다.
sin_family: 
AF_INET  : 인터넷 주소 체계
AF_UNIX  : UNIX 주소 체계
AF_NS     : XEROX 주소 체계

소켓 구조체는 다음을 각각 나타내기 위해 사용된다.
- 자신의 IP 주소, 자신의 포트번호
- 상대방의 IP주소, 상대방의 포트번호

?

List of Articles
No. Category Subject Author Date Views
69 System/OS 맥 OS X 에서 스크린 화면 캡쳐 단축키 (Mac Print Screen) hooni 2015.07.21 1902
68 System/OS 맥북에서 MAC/윈도우 멀티부팅시 시간 설정 file hooni 2013.04.23 29759
67 System/OS 맥에서 파일공유 (윈도우,맥) file hooni 2013.04.25 37303
66 System/OS 맥에서 포트 확인하고 닫기 (mac) hooni 2022.03.22 896
65 Etc 모바일 프로그래머가 갖추어야 할 필수 역량 file hooni 2017.02.16 1298
64 Develop 모터에 대한 pid 제어.. ㅎㅎ file hooni 2013.04.23 18878
63 System/OS 무료로 HTTPS 적용하기 (Let's Encrypt) file hooni 2017.10.28 1405
62 System/OS 무료로 HTTPS 적용하기 (Lets' Encrypt) file hooni 2017.02.16 2181
61 System/OS 무선 인증 서버.. 김도.. ㅋㅋ file hooni 2013.04.23 17595
60 Develop 밸런싱 로봇.. 최종.. (관련 논문도 첨부) ㅋㅋ file hooni 2013.04.23 22820
59 Etc 베지어 곡선 (Bezier curve) file hooni 2013.08.18 221231
58 Develop 베지어 곡선(Bézier curve) 알고리즘(spline 곡선) 3 file hooni 2013.04.23 33264
57 Develop 사이버보안실무 발표자료 (2017.06.08) file hooni 2017.06.05 1208
56 Etc 사이버보안실무 수업 메모 hooni 2017.03.30 809
55 Develop 사이버보안실무 수업 메모 secret hooni 2017.03.23 0
54 Etc 사이버보안실무 시험. secret hooni 2017.04.20 0
Board Pagination Prev 1 ... 68 69 70 71 72 74 Next
/ 74