<PYTHON>[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) : 전체 도메인 반환