• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

소켓 프로그래밍 이란

22.05.26 07:50 작성 조회수 454

1

질문있습니다.
 
소켓프로그래밍이라 하면 어떤것을 제작하는 것을 의미하나요
어렴풋이 서버 프로그래밍을 얘기하는 것 같은데....
 
그리고 서버 어플리케이션을 만드는 것으 이야기하는지
서버의 운영체제를 만드는 것을 이야기하는지 잘 모르겠습니다.
 
도움말씀 부탁드려요..

답변 3

·

답변을 작성해보세요.

1

신진님의 프로필

신진

질문자

2022.05.26

한가지만 더 질문이요.. 이게 운영체제하고는 상관이 있나요?

1

welco님의 프로필

welco

2022.05.26

소켓이란 기기들의 커뮤니케이션 지점입니다. 소켓프로그래밍이란 커뮤니케이션을 구축하기 위해 어떻게 socket API를 사용하는지를 뜻합니다. 채팅프로그램과 같이 각 기기들이 원격으로 같은 네트워크상에 연결되어 서로의 정보를 주고받는 것을 말합니다.

소켓 API를 구현하는 방법으로는 TCP, HTTP Long Polling 등이 있습니다. 다만 ***톡과 같은 곳도 채팅을 제품으로 내놓지만 그들은 소켓으로 해결하지 않습니다.

 

Socket programming shows how to use socket APIs to establish communication links between remote and local processes. - IBM DOCS

0

소켓 프로그래밍을 이해하기 위해선 네트워크 OSI 7계층에 대한 이해가 먼저 필요합니다!

우리가 일반적으로 하게되는 서버 프로그래밍은 L7 애플리케이션 레이어에서 동작하게 됩니다.  반면 소컷은 TCP/IP, 즉 L4 레이어와 통신할 수 있도록 도와주는 도구입니다. 

소켓 프로그래밍을 하면 TCP/IP 레이어에서 동작하는 서버 프로그램을 개발할 수 있다고 보시면 됩니다.

 

또한 소켓은 운영체제에서 제공하는 L4 네트워크 통신 API입니다 :)