[英]issue with DataReceivedEventHandler trigger
朋友你好,我有下面的代码,我用来运行python脚本(使用telnet,COM和USB)并捕获输出。 我在这里面临的问题是DataReceivedEvent Handler,它在经过大约两分钟的长时间延迟后触发,以获取输出,特别是如果脚本中有COM连接。 下面是我的代码,当我使用命令提示符运行它时,为什么我要花这么长时间才能触发它并使其完美运行,我还是无法理解。
var start = new Process();
start.StartInfo.FileName = @"C:\Python27\python.exe";
start.StartInfo.Arguments = string.Format("{0} {1}", fileName,"")
start.StartInfo.UseShellExecute = false;
start.StartInfo.RedirectStandardOutput = true;
start.StartInfo.CreateNoWindow = true;
start.OutputDataReceived += new DataReceivedEventHandler(OnDataReceived);
start.Start();
start.BeginOutputReadLine();
我进行了进一步调查,并确认从python脚本捕获输出时,响应被延迟。 但是,通过添加对sys.stdout.flush()的调用,我可以获得所需的行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.