소켓: 2개의 글
소켓이란 소프트웨어로 작성된 통신 접속점이라 할 수 있습니다. 우리가 다른 컴퓨터와 네트워크 상에서 다른 응용 프로그램과 통신을 할 때 이 소켓을 통하여 데이터를 송수신하게 되죠. 소켓은 TCP/IP 계층과 응용 계층(5-7 계층인 presentation, session, application)사이에서 응용 프로그램이 TCP/IP를 이용하는 창구 역할을 합니다. 위 그림을 보시면, TCP/IP 계층과 응용프로그램, 소켓과의 관계를 쉽게 파악하실 수 있을 겁니다. 한 컴퓨터내에는 보통 한 세트의 TCP/IP가 수행되고 있으며, 네트워크 드라이버에게 데이터를 전송 혹은 수신받아 다른 호스트 혹은 응용 계층에게 데이터를 전달하는 역할을 합니다. (네트워크 카드와 같은 네트워크 접속 장치(NIU : Networ..
프로그래밍 언어로 소켓 프로그래밍을 하시는 분들이라면 보통 C의 경우 리눅스 서버와의 통신, Java의 경우 안드로이드 통신을 하시는 분들이 많으시리라 생각합니다. 그런데 종종 Windows 기반의 컴퓨터를 서버로 하여 소켓 프로그래밍을 시도하려 하면 알 수 없는 이유로 통신이 안되거나 연결이 거부되는 경우가 발생하는 것을 보실 수 있습니다. 이는 컴퓨터의 방화벽 설정으로 인해 외부의 접속을 제한하기 때문인 경우가 많습니다. 그렇다면 어떻게 하면 윈도 기반의 PC와 소켓 프로그래밍을 할 수 있는지 알아보도록 하겠습니다. ※본 포스팅은 Windows7 기반의 PC를 기준으로 작성되었습니다. 1. 시작메뉴를 선택하신 후 '방화벽'을 검색하시면 아래와 같은 화면을 보실 수 있습니다.'고급 보안이 포함된 Win..