dotnet core 2.0+ 的 NamedPipe 在 *nix 上是用 Unix domain socket 实现的吗?

2018-05-24 21:21:27 +08:00
 noli
https://docs.microsoft.com/en-us/dotnet/api/system.io.pipes?view=netcore-2.0
3726 次点击
所在节点    C#
3 条回复
salamanderMH
2018-06-11 09:36:38 +08:00
unix 本身就是有命名管道
whywhy36
2018-06-20 07:01:44 +08:00
noli
2018-07-01 22:06:14 +08:00
@salamanderMH @whywhy36

根据 https://github.com/dotnet/corefx/issues/25792
至少,在 2017 年之后,NamedPipe 在 *nix 上已经是使用 Unix Domain Socket 来实现的

在这个 issue 中提到: https://github.com/dotnet/corefx/pull/6833https://github.com/dotnet/corefx/issues/1849
2015 年的时候已经提议用 Unix Domain Socket 来实现 .net core 中的 NamedPipe。
2016 年的时候,已经实现了用 unix domain socket 模拟 NamedPipe 在 Windows 上的行为(双向双工)

同时 #25792 还提到,如果确实希望使用 经典的 *nix Named Pipe (单向)
可以使用 Mono.Posix.NetStandard ( https://www.nuget.org/packages/Mono.Posix.NETStandard/)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/457564

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX