gpt4 book ai didi

c# - 在 Windows 中使用命名管道 (C++/C#)

转载 作者:可可西里 更新时间:2023-11-01 14:36:59 24 4
gpt4 key购买 nike

我有一个 C++ 应用程序需要将图像从网络摄像头实时发送到同一台 PC 上的 C# 应用程序。无法从 C# 代码调用 C++ 代码,因此我需要通过命名管道实现通信以发送图像。

我以前从未做过任何通信编程,我想知道如何解决这个问题。

我的第一个想法是让 C++ 应用程序在单独的线程上创建命名管道服务器,创建后线程将持续等待,直到可以发送图像。届时它将发送图像。

同样,C# 应用程序将创建一个充当客户端的新线程。它会连接到服务器并不断循环,直到有图像可用。届时它将接收图像并将其存储在主线程可以访问的队列中。

这有意义吗?这是最好的方法吗?

最佳答案

我支持在这里使用 COM 的想法。坦率地说,我会用 C# 编写 COM 对象,因为它更容易(比 C++)。 C# 具有出色的 COM 互操作性。参见 http://msdn.microsoft.com/en-us/library/aa645712%28v=vs.71%29.aspx .我编写了一个类似工作的 MS VSS COM 接口(interface),它可由 Python(我们的构建系统)调用,与另一个供应商公开的 C# .NET 接口(interface)连接;因为它是低级 COM,所以它也可以从 JScript、C++ 等调用。

除非你要跨机器和/或需要 Windows 安全作为其中的一部分,否则我会避免使用命名管道,尽管你实际用于跨对象传输的东西可以是任何东西,可能由大小/速率决定涉及。

关于c# - 在 Windows 中使用命名管道 (C++/C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9636789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com