Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
写入FIFO文件,Linux&;单声道(C#)_C#_Linux_Mono_Fifo_Mkfifo - Fatal编程技术网

写入FIFO文件,Linux&;单声道(C#)

写入FIFO文件,Linux&;单声道(C#),c#,linux,mono,fifo,mkfifo,C#,Linux,Mono,Fifo,Mkfifo,我想做我在标题中写的事。但我就是无法理解。我还用谷歌搜索了一切。我想将字符串写入由mkfifo(我想)创建的特殊类型FIFO文件。如果有任何其他建议如何做到这一点,欢迎您 static class PWM { static string fifoName = "/dev/pi-blaster"; static FileStream file; static StreamWriter write; static PWM() { file

我想做我在标题中写的事。但我就是无法理解。我还用谷歌搜索了一切。我想将字符串写入由mkfifo(我想)创建的特殊类型FIFO文件。如果有任何其他建议如何做到这一点,欢迎您

static class PWM
{

    static string fifoName = "/dev/pi-blaster";

    static FileStream file;
    static StreamWriter write;

    static PWM()
    {
        file = new FileInfo(fifoName).OpenWrite();

        write = new StreamWriter(file, Encoding.ASCII);
    }

    //FIRST METHOD
    public static void Set(int channel, float value)
    {
        string s = channel + "=" + value;

        Console.WriteLine(s);

        write.Write(s);

        // SECOND METHOD
       // RunProgram(s);
    }

    //SECOND METHOD
    static void RunProgram(string s)
    {
        System.Diagnostics.Process proc = new System.Diagnostics.Process();
        proc.EnableRaisingEvents = true;

        proc.StartInfo.FileName = "bash";
        string x = "|echo " +s+" > /dev/pi-blaster";
        Console.WriteLine(x);

        proc.StartInfo.Arguments = x;
        proc.StartInfo.UseShellExecute = false;

        proc.StartInfo.RedirectStandardInput = true;

        proc.Start();
       // proc.WaitForExit();
    }
}

解决方案!!!!PI-BLASTER工作时间:D:D(因此失去2天的生命) 顺便说一句,write.flush很关键

namespace PrototypeAP
{
static class PWM
{

    static string fifoName = "/dev/pi-blaster";

    static FileStream file;
    static StreamWriter write;

    static PWM()
    {
        file = new FileInfo(fifoName).OpenWrite();

        write = new StreamWriter(file, Encoding.ASCII);
    }

    //FIRST METHOD
    public static void Set(int channel, float value)
    {
        string s = channel + "=" + value + "\n";

        Console.WriteLine(s);

        write.Write(s);
        write.Flush();
    }
}
}