2010-08-22 29 views

回答

0

你爲什麼試圖在管道上發送它?如果管道讀取器是一個COM對象,並且您只是讓COM框架處理所有事情,那將會更容易。也就是說,你可以使用CoMarshalInterface將一個COM對象編組成一個流(甚至是進程外);也許你可以通過管道發送該流並使用CoUnmarshalInterface重構它。

1

你需要serialize你的數據在通過任何傳輸發送之前,在另一端你需要反序列化數據將其轉換回來。根據簡單/複雜的數據,有很多很多方法可以實現。

您可以推出自己的產品或使用某種框架,如Google Protocol Buffers或COM。沒有正確的答案,這完全取決於你想做什麼,你的數據有多複雜,以及你需要什麼類型的性能。

+0

你能說明如何使用COM來完成這項工作嗎? – wamp 2010-08-25 03:52:10

+0

您只需使用COM框架來創建您在客戶端中使用的服務器組件。所以客戶端只需創建服務器com類並調用它的方法。所有的呼叫/參數傳遞都在爲你做所有的編組。如果您希望服務器組件向客戶端通知事件,那麼您將使用COM連接點(http://www.codeproject.com/KB/COM/connection.aspx),它們只是回調。因此,您必須以不同於使用某種輸送管道的方式來考慮解決方案。 – 2010-08-25 22:13:55