将数据从Python发送到C#

将数据从Python发送到C#,c#,python,C#,Python,我试图使用标准输入流将数据从python脚本发送到我的c#应用程序。我还需要最终将数据从c#应用程序发送回另一个python脚本。我首先尝试使用UDP连接来实现这一点,该连接可以在几行中正常工作,但我需要发送大量数据(几千行),并且需要UDP无法提供的数据完整性。我也可以写入文件,但这似乎效率很低 最后一个限制是,虽然我的两个应用程序是相关的,但我无法使用IronPython之类的东西在它们之间建立直接连接,因为它们都是由第三方应用程序单独生成的 这是我目前正在尝试的,但它不起作用。与这个问题类

我试图使用标准输入流将数据从python脚本发送到我的c#应用程序。我还需要最终将数据从c#应用程序发送回另一个python脚本。我首先尝试使用UDP连接来实现这一点,该连接可以在几行中正常工作,但我需要发送大量数据(几千行),并且需要UDP无法提供的数据完整性。我也可以写入文件,但这似乎效率很低

最后一个限制是,虽然我的两个应用程序是相关的,但我无法使用IronPython之类的东西在它们之间建立直接连接,因为它们都是由第三方应用程序单独生成的

这是我目前正在尝试的,但它不起作用。与这个问题类似:

在我的C#端,我不完全确定如何读取这些数据,但我尝试过使用类似于循环的方法:

Console.ReadLine()
或者直接使用以下方法获取标准输入并从中读取:

Console.OpenStandardInput();

当前的问题是,只要我调用p.communicate,我的Python脚本就会被锁定并且无法继续。如果它正在等待队列被读取,我需要做什么使它停止等待?我试着只提供stdin参数,但没有帮助。

blob有多大?医生说,大量输入可能会出现问题。传递小消息时是否挂起?Ctrl+D在Unix上发送“输入结束”信号,Ctrl+Z Enter在Windows上关闭stdin。我用一行几个字符进行了测试,它仍然挂起。然而,我最终会在blob中有几千行,有没有更好的机制呢?你需要的是什么。我建议您尝试一下,不过您应该知道IPC通常比使用stdin/stdout更复杂。这会比简单地读取/写入文件快得多吗?这是非常简单的,我现在有它的工作,我不知道有多少优势,这将是。有什么想法吗?这太依赖于使用IPC的应用程序和基础设施。通过一些技巧,一个人每秒可以传递数百万条消息。而且接收器速度慢,即使从文件中获取数据,也会导致性能差。做一个快速的烟雾测试。需要出色IPC性能的实际任务很少。blob有多大?医生说,大量输入可能会出现问题。传递小消息时是否挂起?Ctrl+D在Unix上发送“输入结束”信号,Ctrl+Z Enter在Windows上关闭stdin。我用一行几个字符进行了测试,它仍然挂起。然而,我最终会在blob中有几千行,有没有更好的机制呢?你需要的是什么。我建议您尝试一下,不过您应该知道IPC通常比使用stdin/stdout更复杂。这会比简单地读取/写入文件快得多吗?这是非常简单的,我现在有它的工作,我不知道有多少优势,这将是。有什么想法吗?这太依赖于使用IPC的应用程序和基础设施。通过一些技巧,一个人每秒可以传递数百万条消息。而且接收器速度慢,即使从文件中获取数据,也会导致性能差。做一个快速的烟雾测试。需要出色IPC性能的实际任务很少。
Console.OpenStandardInput();