Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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
C#标准输入和标准输出上的双向IPC_C#_Ipc_Stdout_Stdin - Fatal编程技术网

C#标准输入和标准输出上的双向IPC

C#标准输入和标准输出上的双向IPC,c#,ipc,stdout,stdin,C#,Ipc,Stdout,Stdin,如何连接两个C#进程,以便它们可以通过stdin和stdout相互通信 像这样: 进程A-->标准输出A-->标准输入B-->进程B 过程A using System; using System.Diagnostics; class Program { static void Main(string[] args) { string name; if (args.Length > 0 && args[0] == "slave") {

如何连接两个C#进程,以便它们可以通过stdin和stdout相互通信

像这样:

进程A-->标准输出A-->标准输入B-->进程B

过程A
using System;
using System.Diagnostics;

class Program
{
  static void Main(string[] args)
  {
    string name;
    if (args.Length > 0 && args[0] == "slave")
    {
      name = "slave";
    }
    else
    {
      name = "master";
      var info = new ProcessStartInfo();
      info.FileName = "BidirConsole.exe";
      info.Arguments = "slave";
      info.RedirectStandardInput = true;
      info.RedirectStandardOutput = true;
      info.UseShellExecute = false;
      var other = Process.Start(info);
      Console.SetIn(other.StandardOutput);
      Console.SetOut(other.StandardInput);
    }
    Console.WriteLine(name + " started.");
    while (true)
    {
      var incoming = Console.ReadLine();
      var outgoing = name + " got : " + incoming;
      Console.WriteLine(outgoing);
      System.Threading.Thread.Sleep(100);
    }
  }
}