컴퓨터 공부/네트워크 프로그래밍

[6월 2일 2,3교시] 소켓 프로그래밍 이론

려리군 2009. 6. 2. 20:39

Network Byte Ordering

u_long WSAAPI ntohl(__in  u_long netlong);

network to host(시스템) long(4바이트)

참고주소 : http://msdn.microsoft.com/en-us/library/ms740069(VS.85).aspx

TCP/IP 네트워크로부터 인텔 프로세스의 리틀 엔디안인 호스트(시스템) 바이트 순서로 u_long(부호 없는 4바이트)타입의 값을 변환한다.

리턴 : netlong 전달인자에 대해 뒤집어진 바이트 순으로 제공된 값

netlong : TCP/IP 네트워크 바이트 순서에서 32비트 숫자.


u_short WSAAPI ntohs(__in  u_short netshort);

network to host(시스템) short(2바이트)

참고주소 : http://msdn.microsoft.com/en-us/library/ms740075(VS.85).aspx

TCP/IP 네트워크로부터 인텔 프로세스의 리틀 엔디안인 호스트(시스템) 바이트 순서로 u_short(부호 없는 2바이트)타입의 값을 변환한다.

리턴 : 호스트(시스템) 바이트 순서로 된 값.

netshort : TCP/IP 네트워크 바이트 순서에서 16비트 숫자.


u_long WSAAPI htonl(__in  u_long hostlong);

host to network long

참고주소 : http://msdn.microsoft.com/en-us/library/ms738556.aspx

호스트로부터 빅 엔디안인 TCP/IP 네트워크 바이트 순서로 u_long 타입의 값을 변환한다.

리턴 : TCP/IP 네트워크 바이트 순서로 된 값.

hostlong : 호스트(시스템) 바이트 순서로 된 32비트 숫자.


u_short WSAAPI htons(__in  u_short hostshort);

host to network short

참고주소 : http://msdn.microsoft.com/en-us/library/ms738557(VS.85).aspx

호스트로부터 빅 엔디안인 TCP/IP 네트워크 바이트 순서로 u_short 타입의 값을 변환한다.

리턴 : TCP/IP 네트워크 바이트 순서로 된 값.

hostshort : 호스트(시스템) 바이트 순서로 된 16비트 숫자.


표현계층(presentation layer)

네트워크 바이트 순서를 결정하는 등의 서로 표현하는 방법에 대한 규칙을 정한다.

예시) 나라마다 날짜 표기가 다르다.

한국 : 09/06/02, 미국 : June 2th 2009


WORD 

 - 컴퓨터가 한 번에 처리할 수 있는 단위. (실제 의미)

 - 윈도우즈 WIN16의 호환성을 위해 2바이트를 사용한다.


unsigned long inet_addr(__in  const char *cp);

참고주소 : http://msdn.microsoft.com/en-us/library/ms738563(VS.85).aspx

IPv4의 점으로 표시된 10진수 주소값으로 구성된 문자열을 IN_ADDR 구조체를 위한 적절한 주소로 변환한다.

리턴 : 주어진 인터넷 주소의 2진수 표현으로 구성된 부호없는 long값.

cp : 인터넷 표준 "." 표기법으로 표현된 숫자를 나타내는 NULL종료 문자열


char* FAR inet_ntoa(__in  struct   in_addr in);

참고주소 : http://msdn.microsoft.com/en-us/library/ms738564(VS.85).aspx

(IPv4인) 인터넷 네트워크 주소를 인터넷 표준 10진-구두점 형태의 문자열로 변환한다.

리턴 : "." 표기법으로 문자 주소를 포함한 정적인 버퍼의 포인터.

in : 인터넷 호스트 주소를 표현한 in_addr 구조체