-
2. Windows Socket API(WSA, Winsock)개발/서버 네트워크 2023. 8. 3. 15:30
Windows App과 TCP/IP 사이를 연결한다 - Windows TCP/IP 와 응용 프로그램 사이의 통신 방식을 정의한 API
Network Socket
Winsock을 이용한 통신 과정을 나타낸 그림 이것도 소켓 연결 / send(), recv() / close()
- 컴퓨터 네트워크를 경유하는 프로세스 사이 통신의 종착점(Endpoint)
- 인터넷을 통해 데이터를 전송하는 데 사용할 수 있는 연결 지점을 식별하는 데 사용.
- 소켓은 네트워크 속 프로세스들 사이에, 데이터를 교환하고 연결하기 위한 약속.
- 네트워크 통신을 위한 프로그램이 소켓을 생성하고, 소켓을 통해 데이터를 교환한다.
- TCP/IP가 인터넷의 표준으로 자리 잡으면서, 주로 인터넷 소켓을 가리킨다.
- 인터넷 소켓은 전송 프로토콜(TCP/UDP), IP 주소, 포트 번호 세 가지로 구별된다.
- 이외에 데이터그램 소켓, 스트림 소켓 등이 있다.
- Unix에서는 별도 API 없이 소켓을 파일 디스크립터(정수)로 관리한다.
- 응용 프로그램에서 직접 사용할 수 있다.
- 커널 오브젝트: OS가 리소스를 관리하기 위한 데이터를 저장하는 메모리 블록
- 그래서 Winsock 에서는 Unix 와 호환을 위해 SOCKET 타입을 정수로 재정의했다.
- SOCKET 타입
- af: address family. 주소 지정 체계 AF_INET이 IPv4이다.
- type: 소켓의 타입. SOCK_STREAM(TCP)와 SOCK_DGRAM(UDP)가 대표.
- protocol: 프로토콜 번호. ICMP, IGMP, TCP, UDP 등...
socket() 함수로 SOCKET 타입 객체를 얻을 수 있다. '개발 > 서버 네트워크' 카테고리의 다른 글
5. I/O Completion Ports (IOCP) (0) 2023.08.03 4. OverLapped I/O (0) 2023.08.03 3. 동기, 비동기 통신 (0) 2023.08.03 1. TCP/IP (0) 2023.08.03 AWS 학습자료 링크 모음 (0) 2023.08.03