본문 바로가기
C++/네트워크 프로그래밍

[C++]소켓 프로그래밍 라이브러리 3선

by 계양구놈팽이 2023. 3. 2.

아쉽지만, C++은 언어에서 자체적으로 소켓 프로그래밍을 위한 기본 라이브러리를 탑재하고 있지 않다.

아마도 C++의 지향점이 Java나 C#과는 다르기에 그런 것으로 짐작된다.

그렇기에 자연스럽게 외부의 라이브러리를 쓰게 된다.

 

윈도 환경에서 C++로 소켓 프로그래밍을 하기 위해 가장 흔하게 쓰이는 3개의 라이브러리가 있다.

  1. Winsock (Windows Sockets) - 소켓 프로그래밍과 네트워크 서비스(IP라우팅 & Name Resolution)를 제공하는 마소의 라이브러리이다. Winsock은 TCP와 UDP 프로토콜을 모두 제공한다. 그리고 소켓 통신의 기본이 되는 함수들을 제공한다.
  2. Boost.Asio - Boost는 크로스 플랫폼을 지원하는 C++ 라이브러리이다. 다양한 기능을 가지고 있으며, 그중에는 소켓 프로그래밍에 대한 지원도 포함된다. Asio는 비동기 입출력 및 소켓 프로그래밍 기능을 제공하며, 소켓 프로그래밍에 일관성 있고 이식성 있는 인터페이스를 제공한다.
  3. Poco C++ Libraries - 소켓 프로그래밍에 대한 고수준 및 사용하기 쉬운 인터페이스를 제공하며, TCP 및 UDP 프로토콜을 지원한다. 게다가, HTTP, FTP, SMTP 프로토콜 및 SSL 및 TLS 암호화 지원과 같은 다른 유용한 기능도 포함되어 있다.

 


관련 자료

 

https://learn.microsoft.com/ko-kr/windows/win32/winsock/getting-started-with-winsock

 

 

Winsock 시작 - Win32 apps

이 항목의 링크 및 리소스를 Windows 소켓 프로그래밍을 시작하는 단계별 가이드로 사용합니다.

learn.microsoft.com

https://www.boost.org/doc/libs/1_81_0/doc/html/boost_asio.html

 

Boost.Asio - 1.81.0

Copyright © 2003-2022 Christopher M. Kohlhoff Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. Overview An overview of the featu

www.boost.org

https://pocoproject.org/documentation.html

 

POCO C++ Libraries - Simplify C++ Development

The POCO C++ Libraries are powerful cross-platform and open source C++ class libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT and embedded systems.

pocoproject.org

 

 

'C++ > 네트워크 프로그래밍' 카테고리의 다른 글

소켓 프로그래밍  (0) 2022.02.02