본문 바로가기
■ Programming /Window Network

[윈도우 네트워크][TCP/IP] 윈도우 소켓 프로그래밍 배우기

by Popbox 2017. 3. 30.
반응형

[TCP/IP][네트워크 프로그래밍] 윈도우 소켓 프로그래밍 배우기
 

 

윈도우 소켓 프로그래밍 배우기

 

안녕하세요. TCP/IP 윈도우 소켓 프로그래밍을 공부하면서 글을 적어 보려 합니다.


인터넷의 보편적인 보급과 스마트폰 같은 모바일 기기의 활성화 덕분에 다양한 통신 응용 프로그램에 대한 요구가 늘고 있습니다. 이 때문에 네트워크 프로그래밍에 대한 이해와 기술 습득은 소프트웨어 개발자에게 필수 요소가 되고 있습니다.

 

 

  1. 네트워크 프로그래밍이란?


네트워크 프로그래밍이란 서로 떨어져 있는 호스트(컴퓨터)들 간에 데이터를 주고 받을 수 있도록 프로그램을 구현하는 것입니다. 

다만 통신할 대상이 멀리 떨어져 있기 때문에 소프트웨어 차원에서 호스트들간에 연결해주는 장치가 필요하고 이러한 기능을 해주는 장치를 소켓(socket)이라고 합니다. 일반적으로 소켓 프로그래밍과 네트워크 프로그래밍이라는 용어는 같은 의미로 사용됩니다.

 


  2. 선수 연계 과목


프로그래밍 언어로는 C언어 , 네트워크 기본 개념 , TCP/IP 프로토콜에 대한 이해가 필요합니다.

또한 WinAPI 경험이 있으셔도 충분히 도움이 될 것입니다. 


  3. 윈도우 네트워크 프로그래밍을 하려면?

 

단순히 몇 개의 함수를 익히는 것만으로는 올바르고 효율적으로 동작하는 네트워크 프로그램을 작성할 수 없습니다. 네트워크 프로그래밍을 잘 작성하려면 네트워크 기본 이론 , 특히 TCP/IP 동작에 대한 이론을 어느정도 알아두는 것이 좋습니다.


윈도우 운영체제에서 네트워크 프로그래밍을 할 경우 대개는 GUI(Graphical User Interface)를 갖춰야 하므로 일반 윈도우 프로그래밍에 대한 지식도 필요합니다. 또한 윈도우 시스템 프로그래밍이라 부르는 분야 역시 효율적인 네트워크 응용 프로그램을 제작하는 데 필수적이므로 관련 서적을 통해 틈틈이 학습하는게 좋습니다.

 

  4. 윈도우 네트워크 프로그래밍과 유닉스 네트워크 프로그래밍은 많이 다른가요?


기본 내용은 크게 다르지 않으므로 유닉스 네트워크 프로그래밍을 다루는 책도 윈도우 네트워크 프로그래밍에 많은 도움이 됩니다 .그러나 윈도우 운영체제의 고유한 특징과 결부된 윈도우 소켓 확장 함수는 따로 공부해야 합니다. 또한 멀티스레드 , GUI , 소켓 입출력 모델 등을 고려한 소켓 프로그래밍을 하려면 윈도우 소켓 프로그래밍 서적을 통해 공부하는 것이 좋습니다.


(소켓의 원조는 유닉스입니다.)


  



 감사합니다. 공감 한번 부탁드려요.

[ 다음 장 ]

[TCP/IP][네트워크 프로그래밍] 소켓이란? : http://popbox.tistory.com/66 


    

  




반응형

댓글