[Socket 프로그래밍] 1. 네트워크 프로그래밍과 소켓의 이해
소켓(Socket)? 네트워크로 연결되어있는 두 컴퓨터가 데이터를 주고 받을 수 있게 하는 것이 네트워크 프로그래밍이다. 그렇다면 네트워크로 연결되어있는 두 컴퓨터가 데이터를 주고받기 위해서는 물리적인 연결이 필요하다. 그런데 현재는 대부분의 컴퓨터가 인터넷이라는 거대한 네트워크로 연결되어있으니 물리적인 연결을 신경쓰지 않아도 된다. 때문에 SW를 통한 데이터 송수신 방법만 고민하면된다. 그런데 운영체제에서 '소켓(Socket)' 이라는 것을 제공하기 때문에 이 역시 고민할 필요가 없다. 소켓은 물리적으로 연결된 네트워크상에서 데이터 송수신에 사용할 수 있는 소프트웨어적인 장치를 의미한다. 그래서 데이터 송수신의 원리는 몰라도 소켓을 이용하면 데이터를 주고받을 수 있다. 이때 네트워크 프로그래밍을 소켓 ..