Socket
소켓은 네트워크 상에서 돌아가는 두 개의 프로그램 간 양방향 통신의 하나의 엔드 포인트 이다.
소프트웨어로 작성된 추상적인 개념의 통신 접속점이라고 할 수 있다.
오늘날 컴퓨터 간 통신의 대부분은 인터넷 프로토콜을 기반으로 하고 있으므로, 대부분의 네트워크 소켓은 인터넷 소켓이다.
소켓 종류
스트림 (TCP)
- 양방향으로 바이트 스트림을 전송한다.
- TCP를 사용하기 떄문에
연결 지향성을 가진다. - 오류 수정, 전송처리, 흐름제어를 보장한다.
- 송신된 순서에 따라 중복되지 않게 데이터를 수신하므로 → 오버헤드가 발생한다.
- 대량의 데이터 전송에 적합하다.
데이터그램 (UDP)
- 명시적으로 연결을 맻지 않아
비 연결형 소켓이다. - 데이터의 크기에 제한이 았다.
- UDP이기 떄문에 전달이 보장되지 않으며 데이터의 손실되도 오류가 발생하지 않는다.
- 실시간 멀티미디어 정보를 처리하기 위해 주로 사용한다.