C#WPF应用程序与python脚本之间的双向通信

2024-03-28 09:47:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在c应用程序和c将调用的python脚本之间实现双向通信。在

我在c中有一些输入通道在高频(5000-1000数据/秒)下不断变化,比如说一分钟。在这些输入的每次变化中,计算结果并将其分配给输出变量。我要做的是将逻辑转移到python脚本中。例如:

  • 输入:双x,y
  • 输出:双z

因此,pyton脚本应该能够以符号频率读取输入、执行逻辑并写入结果。在

有什么建议吗?以前有人做过类似的事吗?在

首先,我尝试在每次更改时调用脚本并读取控制台输出。但是脚本中的代码不像z=x*y那么简单,pyhon脚本中需要存储值的变量。例如,脚本mught希望保存达到的x和y的最大值。在

我查看了ZeroMQ库进行通信,但不确定如何使用它。在


Tags: 数据代码脚本应用程序符号逻辑建议zeromq
1条回答
网友
1楼 · 发布于 2024-03-28 09:47:11

这里有一个解决方案:

简单C程序:发送和接收数据的客户端

using System;
using ZeroMQ;

namespace ZeroMQ_Client
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var requester = new ZSocket(ZSocketType.REQ))
            {
                // Connect
                requester.Connect("tcp://127.0.0.1:5555");

                for (int n = 0; n < 10; ++n)
                {
                    string requestText = "Hello";
                    Console.Write("Sending {0}...", requestText);

                    // Send
                    requester.Send(new ZFrame(requestText));

                    // Receive
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        Console.WriteLine(" Received: {0} {1}!", requestText, reply.ReadString());
                    }
                }
            }
        }
    }
}

python程序,必须安装pyzmq:

^{pr2}$

相关问题 更多 >