44 votes

IPC simple entre C++ et Python (cross platform)

J'ai un processus C++ en cours d'exécution en arrière-plan qui va générer des « événements » peu fréquents qu'un processus Python en cours d'exécution sur la même boîte aura besoin de ramasser.

  • Le code sur le côté C doit être aussi léger que possible.
  • Le côté Python est en lecture seule.
  • La mise en œuvre doit être multiplateforme.
  • Les données envoyées sont très simples.

Quelles sont mes options ?

Merci. Merci.

5voto

zeekay Points 22640

Utilisez zeromq, c'est aussi simple que possible.

2voto

mgalgs Points 2203

Une autre option consiste à appeler votre code C à partir de votre code Python en utilisant le module ctypes plutôt que d'exécuter les deux programmes séparément.

1voto

Spike Gronim Points 4608

Quelle est la complexité de vos données ? Si c'est simple, je le sérialiserais comme une chaîne. Si c'était modérément complexe, j'utiliserais JSON. TCP est un bon transport IPC multiplateforme. Puisque vous dites que cet IPC est rare, la performance n'est pas très importante, et TCP+JSON s'en sortira bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X