2011-07-25 66 views
2

我想從我的程序中爲其他訂戶(其他程序)傳輸一些數據。這些程序可以將這些數據用作流式事件。從C++程序流數據?

我想要什麼?

  • 它是如何完成的?
  • 任何指向技術和優點/缺點的圖書館或論文?
  • 安全相關的想法?

即使我得到一個小提示,我也會自己挖掘更多信息。

例子:

程序A:對象A改變=======>方案B:在對象的報表中更改

+0

您是否希望跨網絡完成這項工作,或者只需在同一臺機器上的進程之間進行工作? – Matt

回答

2

兩件事情一般都採用:sockets/pipes這只是你的基本的字節流,message passing這是更復雜一點,並行使用由d水平可擴展性。

+2

別忘了Boost.Interprocess:http://www.boost.org/doc/libs/1_47_0/doc/html/interprocess.html – Ferruccio

0

最好的,我發現:

  • 谷歌的Protobuf
  • Facebook的節儉

優點:

  • 有助於建立格式的流
  • 快速
  • 易建

缺點:

  • 列表項
  • 其他頂層設計問題(帶寬控制,取消)必須頂上去。
0

大體上,這聽起來像是你試圖執行進程間通信,也就是IPC。

在你的問題的標籤你指的是Windows。 This鏈接提供了Windows中IPC選項的廣泛列表。

您問題的標籤列表也表示與平臺無關。無論是基於套接字的解決方案還是基於管道的解決方案都將主要針對您可能開發的大量平臺進行標準化。您可以直接使用套接字,也可以使用衆多跨平臺包裝器之一,例如。 ZeroMQBoost,隱藏一些細節。

從程序A和程序B是否在同一臺計算機上運行這個問題不清楚嗎?如果沒有,那麼使用套接字是更好的方法。