2 votes

ZeroMQ -> Serveur Excel RTD .. Est-ce si difficile?

Je débute avec zeromq. J'ai différentes plateformes/langages qui communiquent entre eux, et je dois admettre que cela fonctionne vraiment bien.

La dernière pièce du puzzle que j'aimerais faire est (comme le titre l'indique). Assez simple, créer une cellule dans Excel du style

=RTD(RealTimeServerProgID,ServerName,Topic1,[Topic2], ...)

et cela communique simplement avec le ServerName (c'est-à-dire l'hôte/le port) et s'abonne aux mises à jour des sujets demandés.

Maintenant... Je ne suis pas si fier. Ça ne me dérange pas de bricoler quelque chose si un excel rtd -> (un autre protocole) -> zeromq existe vraiment. Je ne suis pas. Mais mon c# et mon C++ de Microsoft ne sont pas si pointus, c'est pourquoi je cherche de l'aide de quelqu'un qui l'a déjà fait. J'ai trouvé divers exemples, mais aucun n'intègre l'extraction de quelque chose comme zeromq. J'ai même envisagé d'utiliser les liaisons python de zeromq avec quelque chose comme pyxll... mais je serais intéressé de savoir de la part de personnes qui l'ont déjà fait quelle serait la meilleure solution. Merci.

2voto

Franchesca Points 851

Je possède une expérience avec à la fois RTD et zmq. Je suppose que vous avez déjà consulté les tutoriels RTD et savez comment notifier le client, etc. Sinon, c'est assez simple.

Si je concevais cela, je configurerais simplement mes sockets de file d'attente zmq pour chaque abonnement (par identifiant de sujet) afin qu'ils soient en attente (voir la section sur l'attente dans ce tutoriel) sur réception prête. Vous pouvez mettre en place un gestionnaire d'événements qui récupère ensuite les données, met à jour le cache qui est lu par Excel lors de la mise à jour, puis appelle la notification sur votre rappel Excel.

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