Computer Science/Network

[Network] Socket과 Stream

LeeJaeJun 2023. 12. 21. 15:57
728x90
반응형

- Socket

  • 네트워크 상에서 프로세스 간 통신을 위한 엔드포인트
  • 호스트의 IP 주소와 포트 번호로 식별
  • 클라이언트와 서버 간의 양방향 통신 가능
  • 네트워크 계층과 전송 계층 사이에서 동작하며, TCP/IP 모델에서는 전송 계층의 역할을 수행
  • 일반적으로 클라이언트 소켓과 서버 소켓으로 나뉨
    • 클라이언트 소켓은 서버에 연결을 요청
    • 서버 소켓은 클라이언트의 연결 요청을 수락

 

- Stream

  • 데이터의 연속적인 흐름을 의미(단위 X)
  • 데이터를 작은 조각이 아니라 일련의 바이트로 처리하는 방식
  • 입력 스트림과 출력 스트림으로 나뉘며, 데이터를 읽고 쓰는 데 사용
    • 입력 스트림은 데이터의 흐름이 application으로 들어오는 것을 나타냄
    • ex. 파일에서 데이터를 읽거나 네트워크를 통해 데이터를 수신하는 경우, 입력 스트림을 사용하여 데이터를 읽고 처리
    • 출력 스트림은 application에서 데이터의 흐름을 외부로 보내는 것을 나타냄
    • ex. 파일에 데이터를 쓰거나 네트워크를 통해 데이터를 전송하는 경우, 출력 스트림을 사용하여 데이터를 씀
  • 데이터의 시작과 끝을 명시적으로 표시하는 프레임이나 패킷 헤더가 없이 연속적으로 처리(스트림은 데이터를 조각 내거나 패킷으로 나누지 않기 때문)
  • 실시간 데이터 전송이나 멀티미디어 스트리밍 서비스에서 주로 사용

 

소켓과 스트림은 서로 연관되어 네트워크 통신에서 함께 사용됩니다.

소켓은 네트워크 연결을 설정하고 관리하는 데 사용되며, 스트림은 데이터를 전송하고 처리하는 데 사용됩니다.

소켓을 통해 스트림을 생성하고, 해당 스트림을 통해 데이터를 송수신할 수 있습니다.

728x90
반응형