0

我想知道使用 System.IO.Pipes(没有 WCF)通过命名管道传输数据的安全性如何

是否需要在数据传输后检查例如 md5 总和,或者为它实现事务可能会更好,如果是这样,是否有任何直接的方法,而不使用 P/Invoke 到 TransactNamedPipe(我猜.net 中没有包装器)?

或者也许 TCP 比命名管道更安全?

编辑:

此外:

我真正想到的是如果服务器或客户端崩溃会发生什么 - 那么交付呢?

4

1 回答 1

0

命名管道为您提供

  • 在同一/不同机器上的 2 个进程之间使用 ACL(访问控制列表)的通信通道(与 TCP 不同,您需要自己保护对通道的访问)
  • 通道名称(类似于 TCP 端口),但对名称数量基本上没有限制
  • 使用 trasactions 提供写入+读取操作,该操作将自动成功/失败(使用 TCP,您需要自己实现此类操作)。

两者都可以保证数据的交付。

于 2012-12-03T01:06:26.447 回答