Movatterモバイル変換


[0]ホーム

URL:


POCO C++ Libraries

Simplify C++ Development

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

Latest Release: 1.14.2 [Changelog]

The POCO C++ Libraries have been trusted by C++ developers worldwide for 19+ years to build challenging and mission-critical applications in a wide variety of industries.

Schneider Electric is using the POCO C++ LibrariesSiemens is using the POCO C++ LibrariesHexagon is using the POCO C++ LibrariesAleph ONE is using the POCO C++ LibrariesANSYS is using the POCO C++ LibrariesCppDepend is using the POCO C++ Librariesriverbed is using the POCO C++ LibrariesOpenText is using the POCO C++ LibrariesMathWorks is using the POCO C++ Libraries

Whether building automation systems, industrial automation, IoT platforms, air traffic management systems, enterprise IT application and infrastructure management, security and network analytics, automotive infotainment and telematics, financial or healthcare, C++ developers have deployed the POCO C++ Libraries in millions of devices.

Transformative Applications of POCO C++ Libraries

AIoT in Manufacturing is using the POCO C++ Libraries

See how POCO C++ Libraries are being used for machine learning in manufacturing!
Implementing AI in manufacturing dramatically improves factory operations, reduces lead times, and eliminates delays.
All thanks to the robust power of the POCO C++ Libraries, proving that anything is possible when you have the right know-how and technology to support your needs.


Maximize Steel Manufacturing Quality and Efficiency with the POCO C++ Libraries

Discover how a leading steel mill in Spain achieved a 30% boost in output with Devs Ex Macchina, a solution built with macchina.io EDGE and the POCO C++ Libraries by Aleph One Software Engineering.

POCO C++ Libraries are used for...

Embedded Devices

Create software for connected embedded devices running Linux, Windows IoT or QNX.

Mobile Apps

Create cross-platform backends in C++ for iOS and Android applications and combine it with a native or HTML5-based user interface.

Internet of Things

Create software for IoT devices that talk to cloud backends over HTTP REST APIs. Seemacchina.io EDGE for an IoT edge platform built with POCO.

Server Applications

Build application servers in C++ that talk to various SQL databases, MongoDB or Redis.

Cloud & Microservices

Build high-performance microservices with REST APIs for data analytics or machine learning in C++.

Desktop Apps

Build desktop applications that talk to REST APIs or SQL databases.

Main Features

Cross-Platform

Powerful platform abstractions let you build cross platform code that runs on all common desktop, server, mobile and embedded platforms.

Performance

Written in efficient modern C++, POCO does not waste precious CPU cycles and memory.

Easy to Use

Comprehensive and consistent APIs combined with an easily accessible code base make C++ developers more productive.

Modular & Scalable

Don't pay for what you don't use. Use on embedded Linux devices with as little as of 8-16 MB of RAM, or on multi-core, multi-gigabyte servers.

Multithreading

Advanced multithreading abstractions simplify the development of multithreaded programs.

Logging

Versatile, low overhead and extensible logging framework for all your logging needs.

JSON & XML

Multiple APIs (streaming and document-oriented) for parsing and creating JSON and XML.

Database Access

Access SQL databases like SQLite, MySQL/MariaDB, PostgreSQL and SQL Server (via ODBC). Or NoSQL databases like MongoDB and Redis.

Network & Internet

From basic sockets to HTTP/HTTPS client and server, POCO covers all your network programming needs.

Encryption & Security

Easy-to-use wrappers for OpenSSL make it easy to integrate encryption and SSL/TLS into your application.

Looking for more features like REST APIs, IPC/RPC, SOAP or IoT protocols?
Check outPOCOPRO C++ Frameworks andmacchina.io EDGE.

From Our Blog

Example Code

Simple Web Server

The following code example implements a simple multithreaded web server serving a single HTML page. It uses theFoundation,Net andUtil libraries and shows the following features:

  • Cross-Platform - the code will work on all supported platforms, including Linux, macOS and Windows.
  • Logging
  • HTTP framework inNet library.
  • Server application support inUtil library including configuration file handling.
#include "Poco/Net/HTTPServer.h"#include "Poco/Net/HTTPRequestHandler.h"#include "Poco/Net/HTTPRequestHandlerFactory.h"#include "Poco/Net/HTTPServerRequest.h"#include "Poco/Net/HTTPServerResponse.h"#include "Poco/Net/ServerSocket.h"#include "Poco/Util/ServerApplication.h"#include <iostream>using namespace Poco;using namespace Poco::Net;using namespace Poco::Util;using namespace std::string_literals;class HelloRequestHandler: public HTTPRequestHandler{    void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response)    {        Application& app = Application::instance();        app.logger().information("Request from %s"s, request.clientAddress().toString());        response.setChunkedTransferEncoding(true);        response.setContentType("text/html"s);        response.send()            << "<html>"            << "<head><title>Hello</title></head>"            << "<body><h1>Hello from the POCO Web Server</h1></body>"            << "</html>";    }};class HelloRequestHandlerFactory: public HTTPRequestHandlerFactory{    HTTPRequestHandler* createRequestHandler(const HTTPServerRequest&)    {        return new HelloRequestHandler;    }};class WebServerApp: public ServerApplication{    void initialize(Application& self)    {        loadConfiguration();        ServerApplication::initialize(self);    }    int main(const std::vector<std::string>&)    {        UInt16 port = config().getUInt16("port"s, 8080);        HTTPServer srv(new HelloRequestHandlerFactory, port);        srv.start();        logger().information("HTTP Server started on port %hu."s, port);        waitForTerminationRequest();        logger().information("Stopping HTTP Server..."s);        srv.stop();        return Application::EXIT_OK;    }};POCO_SERVER_MAIN(WebServerApp)

[8]ページ先頭

©2009-2026 Movatter.jp