네트워크 프로그래밍
서버: 서비스 제공자(장치)
클라이언트: 서비스 이용자(제공받는 장치)
IP
- 네트워크 상에서 장치를 식별하는 고유 주소 값
Port
- 장치 내에서 서비스를 식별하는 고유 번호 값
- 네트워크에서 오는 데이터를 어떤 프로세스에 보내야 할지 식별해 줌
- 서버 만드는 사람이 포트 번호 정함
- 1~1024 포트는 Well-known 포트이기 때문에 사용 자제
프로토콜
- 통신 방법을 정해 놓은 규칙
- TCP(Transmission Control Protocol)
- 안정성을 중시함
- But 상대적으로 성능(속도) 떨어짐
- UDP(User Datagram Protocol)
- 성능(속도)를 중시함
- 상대적으로 데이터 안정성이 떨어짐
- 동영상 스트리밍
Socket
- 네트워크 프로그램 내에서 통신을 위해 필수적으로 필요한 논리적 단말기
- 데이터 통신을 제외한 세션의 연결(통신 정보의 교환)까지만을 담당
- IP, Port, Protocol 등으로 소켓을 정의함
- 프로세스가 데이터를 주고받기 위해 반드시 열려야 하는 창구 같은 것
Stream
- 네트워크 프로그램에서 실질적 데이터 통신을 담당하는 논리적 통로
- 보내는 사람의 Output Stream과 받는 사람의 Input Stream이 연결되어야 데이터 주고받을 수 있음
ServerSocket
- 서버는 기본적으로 1 대 n 소통
- 서버 전용 소켓
- 접속과 동시에 소켓을 만들어내는 것
- 즉, 서버 측 네트워크 프로그램이 n 대의 클라이언트와 통신하기 위해 Socket을 생성할 수 있도록 이용하는 객체
'자바 - Java > 이론' 카테고리의 다른 글
[Java] Java Programming - 암호화, 단방향성 암호화(MD5, SHA-256, SHA-512) (0) | 2020.04.06 |
---|---|
[Java] Java Programming - OJDBC(Oracle Java Database Connection) 개념 및 자바-DB 연결 용어 (0) | 2020.04.03 |
[Java] Java Programming - 상속, 다형성, 추상화, Overriding, Implements (0) | 2020.04.02 |
[Java] Java Programming - static 변수, static 메서드 (0) | 2020.04.02 |
[Java] Java Programming - 생성자(Constructor) (0) | 2020.04.02 |