【问题标题】:How do I redirect the input and output of a console C# program to a socket?如何将控制台 C# 程序的输入和输出重定向到套接字?
【发布时间】:2009-11-05 19:43:21
【问题描述】:

如何将控制台 C# 程序的输入和输出重定向到套接字?我需要从另一个进程中启动程序,并使其接收输入并将输出发送到网络中另一台计算机上运行的另一个进程。我想要做的是以编程方式在另一个站上运行应用程序,同时从当前终端控制它。

【问题讨论】:

标签: c# sockets redirect console


【解决方案1】:

使用System.Diagnostics.Process 类来运行您的控制台程序。

System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;

然后您可以将任何流(包括网络流)挂钩到process.StandardInputprocess.StandardOutput

【讨论】:

  • 谢谢,我会开始做这个的!
【解决方案2】:

您需要设置ProcessStartInfo.RedirectStandardInputRedirectStandardOutput。这使您可以提供用于控制台应用程序的标准输入/输出的流。

然后您可以将数据从流程流复制到套接字流和从套接字流复制。

【讨论】:

    【解决方案3】:

    为什么要重定向?

    如果这是您的应用程序的核心功能,那么您应该拥有代码使用的 Stream 变量,而不是依赖于 Console.Out 等。

    流可以从套接字、文件、代码中的任何权利打开。

    【讨论】:

    • 我将要执行的应用程序不是我编写的,它们也必须在从控制台中的主站启动时工作。
    猜你喜欢
    • 1970-01-01
    • 2011-03-08
    • 2011-02-22
    • 2010-11-05
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多