coding log
article thumbnail
Published 2023. 6. 6. 20:23
Socket 소켓 통신 Backend/Java
반응형

소켓

네트워크 상에서 동작하는 두개의 프로그램간 양방향 통신의 하나의 엔드 포인트

프로그램이 네트워크에서 데이터를 통신할 수 있도록 연결해주는 역할

떨어져있는 두 호스트를 연결해주는 도구로서 인터페이스의 역할을 한다

데이터를 주고받을 수 있는 구조체로 소켓을 통해 데이터 통로가 만들어진다

 

 

엔드 포인트

아이피 주소와 포트 번호의 조합을 의미한다

예시로 최종목적지는 사용자의 디바이스 (PC, 스마트폰 등) 또는 서버가 될 수 있다

 

 

소켓 통신

  • 서버와 클라이언트가 특정 포트를 통해 실시간으로 양방향 통신 방식
  • 서버와 클라이언트가 실시간으로 데이터를 주고받는 상황이 필요할 때 사용된다
  • 소켓이 된다는 이야기는 지속적으로 연결되있는 것이다
  • 실시간 동영상 스트리밍이나 온라인 게임과 같은 경우에 자주 사용된다

 

 

HTTP 통신

  • 클라이언트가 요청을 보낼때만 서버가 응답하는 단방향 통신 방식
  • 클라이언트의 요청이 있을때만 서버가 응답하여 해당 정보를 전송하고 곧바로 연결을 종료하는 방식
  • 서버로부터 응답을 받은 후에는 연결이 바로 종료된다
  • 동시 사용자를 많이 받을 수 있다
  • 연결이 계속적으로 끊어진다는 단점이 있다
  • 실시간 연결이 아닌 필요한 경우에만 서버로 요청을 보내는 상황에 유용하다
  • 요청을 보내서 서버의 응답을 기다리는 어플리케이션의 개발에 주로 사용된다
반응형
profile

coding log

@iian

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!