[zeromq-dev] Image server and client

Christoph Heindl christoph.heindl at gmail.com
Fri Feb 8 19:32:23 CET 2013


first, let me express that ZMQ is really a great library with an
extrodinary well created documentation. Congratulations! Since I'm pretty
new to ZMQ, I thought it might be a good idea to discuss my intend with the
experts on this list.

What I'd like to accomplish is a simple image server / client. The server
has a set of images that it streams to 0..n clients. The image formats
never change, just the image content. I have two uses-cases I'd like to

A) High-speed Transfer:
The first use case is that the server receives images from a camera device
that sends images in real-time (losely defined). The client can enter /
exit the stream at any time and it does not mapper whether images are
dropped or not.

B) Robust Transfer:
The second use case deals with only few images that are to be sent by the
server. The server waits for a number of clients to connect and ensures
that no images get dropped due to high bandwidth usage.

My Approach:
The approach I have taken so far is the following: Server and clients
communicate via two channels. The first is the synchronization service and
the second the image service.

The synchronization service follows the ROUTER/DEALER pattern. Clients
register at the server, request image format information and set their
ready flag (to remedy slow-joiners). The server deals with client requests
and has abilities to wait for a number of clients to connect.

The image service follows the PUBLISHER/SUBSCRIBER pattern. The server
publishes image content and the client subscriber receives them. In case of
the robust transfer I'm thinking about adding an identifer to each sent
image and waiting for the clients to signal ack via the synchronization
service. I'm not sure though if that is enough.

Is this a reasonable approach? Maybe I'm reinventing the wheel, but I
didn't find any library that fills my needs (well knowing that online video
streaming exists :).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130208/62b6b10f/attachment.html>

More information about the zeromq-dev mailing list