我對此有如此多的疑惑,我想我應該問一下。這裏的情況:在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