728x90
반응형
소켓을 이용한 네트워크 통신
네트워크 상에서 통신은 "소켓"을 이용해 진행된다.
소켓에 IP, Port 번호와 프로토콜을 담아
통신을 하는 상황에 적합한 소켓을 만들어
통신을 진행한다.
- HTTP 통신은 80포트로 통신, HTTPS 통신은 443 포트로 통신
네트워크 통신의 종류
소켓 프로그래밍 || HTTP 프로그래밍
- 소켓 프로그래밍
서버와 클라이언트가 특정 포트를 통해 실시간으로 양방향 통신 을 하는 방식
소켓 연결은 TCP/CP 프로토콜을 기반으로 맺어진 네트워크 연결 방식을 의미한다.
필요한 경우 클라이언트만 요청을 보낼 수 있는 HTTP 프로그래밍과 달리 소켓 프로그램이은 서버 역시 클라이언트에게 요청을 보낼 수 있는 것이 가장 큰 특징이다.
소켓 통신은 주로, 게임과 실시간 스트리밍 서비스에서
사용한다.
"실시간"으로 컨텐츠를 제공하는 경우에 소켓통신을 사용한다고 보면 되겠다~
예시로, 어떤 게임에서
한 사용자 1이 방을 파면, 파진 방에 대한 정보를
게임에 접속한 모든 유저에게 "실시간"으로 뿌려준다.
- HTTP 프로그래밍
클라이언트의 요청이 있을때만 서버가 응답하여 해당 정보를 전송하고 곧바로 연결을 종료하는 단방향 통신을 하는 방식
소켓 통신과 달리, 서버가 클라이언트로는 요청을 보낼 수 없는것이 큰 특징이다.
즉, 클라이언트의 요청에 따라
HTTP 통신으로 이뤄지는"서비스"가 업데이트가 된다.
예시로, 웹 사이트에서 사용자가 F5 (새로고침)을 사용하지 않는다면,
웹사이트가 서버상에 업데이트되어도(다른 사용자가 게시물을 올림~) 이전 그대로 웹이 구동된다.
소켓 통신 실습 코드
다음은 시간이 남을 때 포스팅하도록 하겠다 ㅎㅎ...
728x90
반응형
'CS 대학강의' 카테고리의 다른 글
[CS 1-2 | 프로그램 설계 방법론] Java로 스도쿠 프로그램 제작 (0) | 2022.10.18 |
---|---|
[CS 1-2 | 프로그램 설계 방법론] 배열 객체 & MVC 아키텍처 설계 실제 프로그램에 적용해보기 9주차 (2) | 2022.10.15 |
[CS 1-2 | 이산수학] 행렬의 연산 10주차 (0) | 2022.10.12 |
[CS 1-2 | 시스템 프로그래밍 기초] 디버깅과 소프트웨어 설계 10주차 (0) | 2022.10.11 |
[CS 1-2 | 이산수학] 알고리즘 9주차 (0) | 2022.10.11 |