繁体   English   中英

DataReceivedEventHandler触发器的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM