2012-12-02 134 views
0

我想知道使用System.IO.Pipes(不帶WCF)通過命名管道進行數據傳輸有多安全命名管道的安全

是否需要檢查數據傳輸後的MD5總和或者它可能是更好的主意來實現它的交易,如果是的話有沒有直接的方式,而不使用P/Invoke TransactNamedPipe(我猜沒有包裝在.net中)?

或者也許TCP只是比命名管道更安全?

編輯:

此外:

我真的有一點是會發生,如果服務器或客戶機崩潰什麼 - 怎麼樣交貨呢?

+0

「安全」是什麼意思?你關心什麼?數據丟失? –

+0

是的,我想知道我是否可以確保數據完全交付 – user1121956

+0

是的。就像你可以使用文件或TCP連接一樣。在讀取數據後檢查數據是不必要的。 –

回答

0

命名管道爲您提供了與相同/不同機器2個進程之間的ACL(訪問控制列表)(TCP不同,你需要固定在通道自己訪問)

  • 名稱的

    • 溝通渠道該通道(類似於TCP端口),但幾乎沒有數字名稱的限制
    • 隨着交易給予寫/讀操作,將自動成功/失敗(使用TCP,你需要自己實現這樣的操作)。

    兩者都可以保證數據的交付。

  • +0

    隨着交易給寫+讀操作< - 我怎樣才能使用它與交易? – user1121956

    +0

    你的意思是TransactNamedPipe還是別的? – user1121956

    +0

    @ user1121956是的,Jonathon Reinhart bove討論了行爲(不是DB類的事務,只是單寫+讀爲原子操作)。 –