Flower in my dev/Python

<PYTHON>[socket]

꽃선생 2015. 7. 28. 16:51
[socket]

 

<기본상식>

- PORT번호 : 16비트 (0~65535)

- 인터넷서비스PORT : 1~255

- 그 외 서비스PORT : 256~1023

- 임시 시스템 PORT : 1024~4999

5000~65535 사이 PORT 사용

- cat /etc/services : 현재 PORT 사용 정보(리눅스)

 

- AF : Address Family

- AF_UNIX : C/S가 같은 장비

- AF_INET : C/S가 다른 장비

 

- SOCK_STREAM : TCP

- SOCK_DGRAM : UDP

 

<Server Method>

- socket : 소켓 객체 생성

- bind((host, port)) : 소켓 --(연결)--> host, port

- listen(n) : 연결 큐 크기(최소1)

- accept() : 연결 허용

- recv(bufsize) : bufsize 만큼 데이터 수신 <-- Client

- send(string) : string을 전송 --> Client

- close() : 소켓 연결 해제

 

<Client Method>

- socket : 소켓 객체 생성

- connect((host, port)) : 소켓 --(연결 시도)--> host, port

- recv(bufsize) : bufsize 만큼 데이터 수신 <-- Server

- send(string) : string을 전송 --> Server

- close() : 소켓 연결 해제

 

<Etc..>

- getservbyname('protocol', 'sock_type) : PORT 번호 반환

- socket.getsockname() : IP와 PORT 반환

- gethostbyname(HOST) : HOST를 IP로 변환

- gethostname() : HOST 컴퓨터 이름 반환

- getfqdn(HOST) : 전체 도메인 반환