메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

POCO를 이용한 C++ 네트워크 프로그래밍

리얼타임 eBook

집필서

판매중

  • 저자 : 최흥배
  • 출간 : 2017-04-28
  • 페이지 : 123 쪽
  • ISBN : 9788968488498
  • 초급 초중급 중급 중고급 고급
4.7점 (3명)
좋아요 : 66

모바일 플랫폼 게임은 열악한 무선 통신 때문에 처음에는 HTTP를 사용한 비실시간 통신을 주로 사용하였으나 무선 통신 환경이 점점 좋아지면서 실시간 통신을 사용하는 사례가 늘어나고 있다. 게임은 대부분 다른 IT 분야보다 성능을 중요하게 여기고, C++ 프로그래머들이 많다. 그래서 모바일 플랫폼 게임 서버를 C++로 개발하는 곳이 많다(PC 플랫폼 시대와 비교하면 C++ 사용이 줄어들기는 하였다).

 

C++는 언어의 특성상 C#, Java, Python, Node.js보다 네트워크 프로그래밍이 좀 더 어렵다. 그러나 POCO와 같은 외부 라이브러리를 사용하면 이 어려운 부분을 많이 해소할 수 있고, C++ 사용에 따른 고성능 혜택을 얻을 수 있다.

 

이 책은 POCO 라이브러리를 이용하여 C++ 네트워크 프로그래밍을 하는 방법을 소개한다. POCO 라이브러리는 2000년대에 만들어진 라이브러리답게 코드가 깔끔하고 문서도 잘 만들어져 있어서 이 책과 POCO 공식 사이트의 문서를 참고하면 C++ 네트워크 프로그램을 더 쉽게 만들 수 있다. 이밖에도 POCO 라이브러리에는 멀티스레드, 데이터베이스와 관련된 다양한 기능이 있다. 꼭 공부해보기 바란다.

 

대상독자

 

이 책은 네트워크 프로그래밍에 관한 기초 지식(주로 TCP, UDP)이 있는 사람을 대상으로 한다. 네트워크 프로그래밍에 대해 전혀 모른다면 관련 책을 먼저 본 후 이 책을 읽는 것이 좋다. 시간이 부족하다면 네이버나 구글 검색으로 TCP, UDP, 소켓 프로그래밍에 대한 글을 읽고 난 후 이 책을 보기 바란다.

 

예제코드

 

이 책의 예제 코드는 Visual Studio 2015를 사용하였고, POCO 라이브러리는 1.6 버전 이상이면 괜찮다. 예제 코드는 다음 깃허브의 ‘exampleCodes’ 디렉터리에 있으며, 예제에 대한 질문은 Issues에 남기면 된다.

 

https://github.com/jacking75/Poco_network_sample

 

최흥배 저자

최흥배

2003년부터 PC 온라인 보드게임을 시작으로 액션 게임, MMORPG, 모바일 플랫폼 게임까지 아우르는 다양한 온라인 게임 서버 프로그램을 만들어온 게임 개발자다. 프로그래밍 언어는 C++와 C#을 주로 사용하며, 요즘은 C++17 프로그래밍과 심도 있는 .NET 기술, 유명 백엔드 오픈소스 라이브러리와 프로그램, Go 프로그래밍 언어를 주로 공부하고 있다.

 

기술과 개발 경험을 여러 사람과 나누는 것을 좋아하여 게임 개발자 커뮤니티와 세미나 강연을 통해 다른 프로그래머와 활발히 교류하고 있다. 웹이 대중화되기 전부터 프로그래밍 공부를 해 와서 그런지 여전히 새로운 기술을 배울 때는 책을 선호하고 지금도 매달 새로운 프로그래밍 관련 책을 읽으며 연구하고 있다.

 

현재(2016~2017년) ‘NHN Next’라는 교육 기관에서 ‘C++ Advance’ 과정과 ‘게임 서버’ 과정을 맡고 있다.

chapter 1 POCO 라이브러리 소개 

_1.1 POCO 라이브러리란 

_1.2 특징 

_1.3 기능 

_1.4 기본 이념 

_1.5 목표와 미션 

_1.6 이익 

_1.7 지원 플랫폼 

 

chapter 2 POCO 설치하기 

_2.1 nuget 패키지 매니저로 설치하기 

_2.2 직접 빌드하여 설치하기 

 

chapter 3 POCO 네트워크 프로그래밍 기초 

_3.1 IPAddresses 

_3.2 SocketAddresses 

_3.3 Name Resolution 

 

chapter 4 TCP 에코 서버와 클라이언트 

_4.1 클라이언트 

_4.2 서버 

_4.3 서버와 클라이언트의 처리 흐름 

 

chapter 5 UDP 에코 서버와 클라이언트 

_5.1 클라이언트 

_5.2 서버 

_5.3 서버와 클라이언트 처리 흐름 

 

chapter 6 개선된 TCP 에코 서버와 클라이언트 

_6.1 서버 

_6.2 클라이언트 

 

chapter 7 TCPServer 프레임워크 

_7.1 Poco::Net::TCPServer 

_7.2 Poco::Net::TCPServerConnectionFactory 

_7.3 Poco::Net::TCPServerConnection 

_7.4 TCPServer 프레임워크로 구현한 에코 서버 

_7.5 TCPServer 기본 설정과 변경과 연결 상태 알아보기 

 

chapter 8 Reactor 프레임워크 

_8.1 Reactor 서버 생성과 서버 시작 

_8.2 ServiceHandler 정의 

_8.3 Reactor 프레임워크를 사용한 TCP 에코 서버 

_8.4 Reactor 프레임워크 구현 시 기억할 것 

_8.5 Reactor 프레임워크의 소켓 이벤트 

_8.6 Reactor 프레임워크에서 멀티스레드 사용하기 

_8.7 Reactor 프레임워크를 사용한 클라이언트 

 

chapter 9 HTTP 서버와 클라이언트 

_9.1 HTTP 서버 

_9.2 HTTP 클라이언트 

 

chapter 10 웹소켓 

_10.1 웹소켓 서버 

_10.2 웹소켓 클라이언트 

 

 저는 책을 고를 때 표지와 목차를 보고 주로 결정을 하는데, 표지는 첫인상을 주고 목차는 내용의 구성을 예상해볼 수 있는 좋은 지표이기 때문입니다. 표지는 매력적이었고 목차는 내용구성을 잘 해놓은 것 같다는 느낌이 드는 목차였습니다. 무난한 개발도서 목차였지요.

 실제로 도서를 읽을 때도 적당했습니다. 책 초반부에 네트워크에 대한 기초지식이 없는 분들을 위한 당부도 적절했고, 그 이후의 내용도 따라가기 쉬웠습니다. 라이브러리 설치도 친절하게 설명이 되어있구요. 중간중간 제시되는 흐름도같은 경우는 코드와 함께 제시되어 있기 때문에 큰 그림을 그려볼 수 있고 이해를 잘 돕습니다. 페이지수가 생각보다 짧은데 아무래도 기초적인 내용을 다루었기 때문이 아닌가 싶습니다. 책 제목에 이 부분을 암시할 수 있는 부분을 넣었으면 어땠을까 생각도 드네요. 좋은 도서를 읽게 해 주신 저자분과 한빛미디어에 감사드립니다.

이 책은 POCO라이브러리에 대한 설명과 C++로 네트워크 소켓 프로그래밍을 하는 방법을 구체적으로 제시하고 있다.

대학에서 컴퓨터 보안을 전공하면서 C언어로만 소켓 프로그래밍을 배워왔던 나에게 이 책은 C++로도 소켓프로그래밍을 할 수 있게 많은 도움을 주었다.

우선 POCO라이브러리에 대한 자세한 설명(장점, 기능 등등)이 수록되어 있었고, POCO라이브러리가 지향하는 방향성에 대해서도 짤막하게나마 읽기 좋게 설명이 되어있어서 좋았다.

프로그래밍 부분에서는 라이브러리 설치방법에 대해서 설명을 먼저 해두어서 좋았고, 프로그래밍 과정중에서 각각의 소스코드가 어떤 기능을 하는지 자세한 설명이 되어있어서 소켓 프로그래밍을 처음하는 초보자에게도 개념을 잡기에 좋을 것같다.

<소개>

이 책은 상대적으로 잘 알려지지 않은 "POCO C++ 라이브러리"를 이용한 네트워크 프로그래밍을 위한 서적이다.

이미 "POCO C++ 라이브러리"를 잘 알고 있거나 사용을 해본 사람보다는 C++을 이용해서 "네트워크 프로그래밍"을

해야 하고, 저수준 API보다는 좀더 쉽고(Boost보다 확실히 쉽다) 편리하고 빠르게 "네트워크 프로그래밍"을 하고자

하는 사람들에게 "POCO C++ 라이브러리"를 소개하고 친절하게 안내해 줄 수 있는 가이드격 서적이다.

저자가 책에서도 언급하고 있듯이 "POCO C++ 라이브러리"를 사용하면, Boost 보다는 상대적으로 덜 유명하지만

Boost 보다는 상대적으로 더 친절한 문서와 깔끔한 코드로 쉽게 "네트워크 프로그래밍"을 할 수 있다.

필요에 따라서, 아래의 Chapter별로 선택해서 샘플 코드 사용하듯 쉽게 응용할 수 있게 안내하고 있다.

 

Ch 4 : TCP 에코 서버와 클라이언트

Ch 5/6 : UDP 에코 서버와 클라이언트

Ch 7 : TCPServer 프레임워크

Ch 8 : Reactor 프레임워크

Ch 9 : HTTP 서버와 클라이언트

Ch 10 : 웹소켓

 

"POCO C++ 라이브러리"의 정식 명칭은 The POrtable COmponents (POCO) C++ Libraries이며, 네트워크 사용에 최적화 되어

있으며 사용하기 쉽다. 2004년에 처음 릴리즈되어 최근 3~4년 동안에는 아무런 수정이 없을 정도로 안정기에 접어든

라이브러리이다. 본 서적을 통해서 "POCO C++ 라이브러리"를 학습하고 C++에서 쉽게 응용할 수 있었으면 좋겠다.

 

 

<좋은 점>

- 사용자 필요에 따라 상세히 나열된 예제(필요에 따라 선택해서 응용 할 수 있다)

- "POCO C++ 라이브러리"를 설명하고 있는 세계 최초(?) 서적

- C++을 이용해서 쉽게 "네트워크 프로그래밍" 할 수 있게 도와주는 초심자용 서적

 

<아쉬운 점>

 

- 저자의 다른 서적에서처럼 아주 쉽고 자세한 설명을 하고 있지는 않는 점은 아쉬운 점이다.

- 상대적으로 "네트워크 프로그래밍"에 대해 경험이 적은 독자를 대상으로 하고 있는데, 네트워크 관련 용어나 설명등

을 단순히 위키피디아 같은 외부 링크로 대체한 점은 아쉽다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리얼타임 eBook 안내

PDF 형식으로 제공되며, 다운로드한 eBook은 PDF 포맷을 지원하는 디바이스 또는 프로그램에서 제한없이 열람할 수 있습니다. 또한 eBook 내의 텍스트 검색 및 인쇄도 가능합니다.

리뷰쓰기

닫기
* 도서명 :
POCO를 이용한 C++ 네트워크 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
POCO를 이용한 C++ 네트워크 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
POCO를 이용한 C++ 네트워크 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실