2011-04-12 14 views
6

Quiero que mi aplicación de servidor pueda enviar datos para que sean procesados ​​por un grupo de varios clientes, y luego devolver los datos procesados ​​al servidor.C++: Biblioteca de informática en la nube: ¿existe una biblioteca en la que no necesite escribir mucho material de la red?

Idealmente, tendría que algunos denominan como some_process = send_to_client_for_calculating(connection, data)

sólo hay que ser capaz de enviar un montón de datos a un cliente, decirle al cliente qué hacer (preferiblemente en el mismo mensaje, que puede ser hecho con una matriz [comando, datos]), y luego devolver los datos ...

Estoy rompiendo pedazos de una red neuronal (es muy grande), y luego ensamblarlos todos más tarde.

Si tengo que ser más claro, quiero saber cómo.

+0

Esto depende en gran medida de la forma en que desee programarlo. Hay Boost.Asio, MPI, llamadas a procedimientos remotos, etc. – chrisaycock

Respuesta

5

Me sorprende que nadie ha tirado por ahí ... ¿qué hay de boost::asio.

+1

+1 es la biblioteca de red de facto para aplicaciones C++ a cualquier escala. –

2

¿Por qué no echar un vistazo a utilizar Apache ActiveMQ? Es un servidor Java JMS, pero tiene enlaces C++, y hace lo que quiere con un mínimo de escritura de código de red. Básicamente, solo te suscribes a los mensajes y te devuelven las respuestas. El servidor de MQ se ocupa del despacho y persistencia del mensaje para usted.

2

Usted podría tratar de usar beanstalkd, una cola de trabajo rápido. No sé si se ajusta a tus propósitos. Hay un client library escrito en C, que debería poder usar desde C++.

1

yo sugeriría mirar gSOAP, que implementa SOAP en C++, incluyendo la creación de redes.

Cuestiones relacionadas