IRSOL
C++ code implementing socket server for interacting with Baumer camera.
06-client-server-interaction-image-commands
See also
examples/06-client-server-interaction-image-commands/server.cpp
examples/06-client-server-interaction-image-commands/viewer_client_gi.cpp
examples/06-client-server-interaction-image-commands/viewer_client_gis.cpp
irsol::server::frame_collector

This example demonstrates a basic client-server architecture for camera image acquisition and distribution using the irsol camera framework. It showcases how multiple clients can interact with a camera server by sending different image acquisition commands and receiving image data in response.

Overview

This example illustrates how the irsol camera framework supports:

  • Command-based interaction: Clients use specific commands (gi for single images, gis for streams) to control their interaction with the camera server.
  • Efficient frame distribution: The server coordinates image acquisition and efficiently distributes frames to all connected clients, leveraging the internal scheduling and batching mechanisms of the framework.

Context

This example is representative of real-world scenarios where a central camera server must serve multiple consumers with different image acquisition needs—such as monitoring stations, analysis tools, or visualization clients. It demonstrates the flexibility and scalability of the irsol camera framework's client-server model, as well as its ability to handle both on-demand and streaming image requests.