https://www.youtube.com/watch?v=nMbGvRnP_c8

소켓 통신을 이해하기 위해서

네트워크 프로그래밍과 소켓을 간단하게 이해하고 넘어가겠습니다.

네트워크 프로그래밍, 소켓

네트워크 프로그래밍 이란 네트워크로 연결되어 있는 서로 다른 두 컴퓨터가 데이터를 주고받을 수 있도록 하는것이 네트워크 프로그래밍입니다.

자세히 들어가게 된다면 복잡하겠지만 큰 틀은 이게 전부 입니다.

그렇다면 네트워크로 연결되어 있는 두 컴퓨터간에 데이터를 주고받기 위해서 필요한 것은 무엇일까요?

우선 당연하게도 물리적인 연결이 필요합니다.

저희는 이미 인터넷이라는 네트워크에 연결되어 있으니 신경 쓸 필요가 없습니다.

물리적으로 연결이 된 후 소프트웨어적인 데이터의 송수신 방법만 고려하면 됩니다.

하지만 이 역시도 고민할 필요가 없습니다. 바로 운영체제에서 소켓이라는 것을 제공하기 때문입니다.

소켓은 물리적으로 연결된 네트워크상에서의 데이터 송수신에 사용할 수 있는 소프트웨어적인 장치를 의미합니다.

소켓을 이용한다면 데이터 송수신의 원리를 이론적으로 잘 몰라도 데이터를 주고받을 수 있게 됩니다.

정리해 보자면 소켓은 네트워크 상에서의 데이터 송수신에 사용할 수 있는 소프트웨어적인 장치(도구) 라고 할 수 있습니다.

소켓의 종류

소켓은 크게 두 가지로 나뉘는데 그 중 TCP소켓에 대해 먼저 예시를 통해 소개해 드리겠습니다.

TCP소켓

첫번째로 TCP소켓 입니다.

네트워크 프로그래밍은 소켓 프로그래밍 이라고도 합니다.