我对此有如此多的疑惑,我想我应该问一下。这里的情况:在C++插件和Python程序之间进行通信
我正在写一个C++ .dll,将被加载到一个程序,“EuroScope.exe”。加载时,程序会将数据提供给dll,这些数据将不断地发送和接收来自先前构建的python程序的数据。收到并接受数据后,该DLL将传输到正在运行的应用程序
我正在尝试使用ZeroMQ的套接字解决方案,大家都非常讨论这个问题。事情是,现在已经2周了,我不能在VS2012中使用它。我尝试了一切,甚至在这里,在他们的家中,在邮件列表中打开一个线程......没有人知道如何解决它
所以,除了ZeroMQ,你认为什么是我的最佳选择?我已经在那里搜索和阅读了很多(协议缓冲区我不喜欢,这对于我想要做的事情来说太复杂了)
还有一件事。绑定Python/C++(例如使用SIP或ctypes)是一种有效的解决方案还是它不能满足我的目的?我已经阅读了一些SIP和ctypes文档,看起来像我想要的......但同时我想:如果Python的C++程序可以访问的目的是什么,如果它是需要发送数据到Python的加载的dll ??我不知道,我只是不知所措有这么多的信息
非常感谢您的帮助
您是否可以修改现有的Python应用程序,还是仅限于通过ZeroMQ与它通信?如果您无法更改Python应用程序的协议,那么您可能仅限于其预先存在的通信形式(套接字或ZeroMQ等)。如果您能够修改Python应用程序,那么实现一个简单的面向行的套接字服务器可能是最容易的,它读取请求字符串直到找到'\ n',处理消息并以'\ n ”。如果你只需要简单的同步发送/接收,ZeroMQ可能会矫枉过正 – linguanerd
我不知道是因为有人删了论文,但我想可能不是。我可以做的也很可能要做的是一个py程序,它与以前制作的论文.py's相互作用。那么你有什么建议,简单的套接字(因为ZeroMQ不工作)? –
我发布了一个可能的答案,让我知道如果这是朝着正确的方向。如果不是,我可以根据需要修改并添加更多细节。 – linguanerd