使用FileStream将Linux FIFO文件打开为非阻塞模式

时间:2018-01-22 16:32:34

标签: c# linux debian .net-core named-pipes

是否可以使用FileStream打开Linux FIFO作为非阻塞? 也希望能够通过用户代码关闭它,即使没有打开写入端。

尽管使用FileOptions.Asynchronous,此代码会一直等到写侧打开 它位于.NET Core 2.0和Debian jessie / macOS之上。

using System;
using System.IO;

namespace ReadFifo
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            var fifoPath = "/tmp/fifofile";
            using (var fileStream = new FileStream(fifoPath, FileMode.Open, FileAccess.Read, FileShare.Write, 4096,
                FileOptions.Asynchronous))
            {
                Console.WriteLine("FileStream opened.");
                Console.ReadKey();
            }
        }
    }
}
  

CoreFX implementation    - GitHub
  CoreFX test - GitHub
  Debian FIFO(7)    - 网页

0 个答案:

没有答案