소켓 int 소켓 만 들 기(int domain,int type,int protocol);sockfd(소켓 주소 설명자)domain 을 주소 족 으로 되 돌려 줍 니 다.보통 PFINET 인터넷 프로 토 콜(네트워크 주소 프로 토 콜)PFUNIX 유 닉 스 인터넷 프로 토 콜(로 컬 주소 프로 토 콜)PFNS Xerox NS 프로 토 콜 PFIMPLINK 인터페이스 메시지 프로 토 콜 type 소켓 형식 SOCKSTREAM 스 트림 소켓 SOCKDGRAM 데이터 신문 소켓 SOCKRAW 원본 소켓 protocol 인 자 는 보통 0(원본 소켓 사용 시 주의해 야 함)bid(int sockfd,struct sockaddr*addr,int addrlen)로 설정 합 니 다.로 컬 주소 와 포트 를 연결 하 는 것 은 주로 struct sockadd 라 는 구조 체 를 말 합 니 다.이것 은 일반적인 주소 구조 struct sockaddr{입 니 다. u_short sa_family;//주소 족,PFXXX char sa_data[14];//14 바이트 프로 토 콜 주소};실제 사용 에 서 는 IP 와 포트 정 보 를 일반 주소 로 직접 전달 하거나 연결 하지 않 습 니 다.struct sockaddr 를 인터넷 프로 토 콜 주소 구조 로 저장 합 니 다.in { u_short sin_family;//주소 족,PFINET,2 bytes u_short sin_port;//포트,2 bytes struct in_addr sin_addr;//IPV 4 주소 4bytes char sin_zero[8]; //8 bytes unused,충전 으로 이 종 류 를 struct sockaddr 로 강제 전환 하려 면 16 바이트 가 필요 합 니 다};그 중 struct inaddr { in_addr_t s_addr; //u32 network address }; 그 다음 에 이 유형 을 struct sockaddr*유형 으로 강제 전환 하고 IP 주소 가 점 10 진법 에서 u32 네트워크 주소 unsigned long inet 로 어떻게 전환 하 는 지 에 대해 서도 언급 합 니 다.addr(char *address); struct in_addr addr; addr.s_addr = inet_addr("192.168.1.100"); U32 네트워크 주 소 를 char*char*inet 로 변환 합 니 다.ntoa(struct in_addr address); 포트 의 전환 은 바이트 순서 와 관련 되 어야 합 니 다.CPU 가 다른 호스트 에서 메모리 에 다 중 바이트 정수 순 서 를 저장 하 는 두 가지 방법 이 있 기 때문에 호스트 바이트 순서(HBO)라 고 합 니 다.작은 순서,낮은 순서 바이트 는 낮은 주소 에 저 장 됩 니 다.시작 주소 에 저 바이트 저장.intel,AMD 의 큰 순서:높 은 순서 바이트 가 낮은 주소 에 저 장 됩 니 다.시작 주소 에 높 은 바이트 저장.ARM,Motorola,네트워크 에서 전 송 된 데 이 터 는 반드시 네트워크 바이트 순서,즉 엔 드 바이트 순서(NBO)에 따라 야 하기 때문에 대부분의 PC 기기 에서 응용 프로 세 스 가 정 수 를 socket 에 보 내기 전에 네트워크 바이트 순서 로 전환 해 야 합 니 다.응용 프로 세 스 가 socket 에서 정 수 를 꺼 낸 후에 작은 바이트 순서 로 바 꿔 야 합 니 다.호스트 바이트 에서 네트워크 바이트 순서 로 전환 하 는 함수:ulong htonl(u_long hostlong); u_short htons(u_short short); 네트워크 바이트 에서 호스트 바이트 순서 ulong ntohl(u_long hostlong); u_short ntohs(u_short short); 문자열 을 성형 으로 바 꾸 고 atoi 함수 도 사용 합 니 다. 이 를 통 해 IP 주 소 는 바이트 순 서 를 바 꿀 필요 가 없 는 이 유 를 물 어 볼 수도 있 습 니 다.이것 은 inet 때 문 입 니 다.addr 함수 자체 가 바이트 순 서 를 바 꾸 었 고 inetntoa 도 문자열 로 바 뀔 때 네트워크 바이트 순 서 를 이 컴퓨터 바이트 순서 로 바 꿉 니 다. 에 대하 여u32 와 ip 주소 의 변환 문제: