Visual Studio C++ 到 C# 套接字程序

Posted

技术标签:

【中文标题】Visual Studio C++ 到 C# 套接字程序【英文标题】:visual studio c++ to C# socket program 【发布时间】:2013-11-14 03:04:19 【问题描述】:

我正在使用 OpenCV 进行图像处理,到目前为止,我所做的一切都是纯粹在 c++ 上完成的。我想使用 c# 创建 GUI 应用程序,但是我不确定那里的通信协议。我想将 C# 与 C++ 一起使用的主要原因是因为我使用的是 Kinect SDK,而且我不喜欢在 C++/CLI 框架中编程。

由于 Kinect 库更好地与 C# 一起使用,我想知道是否可以在开发用于 c++ 到 c# 双工通信的套接字编程方面获得一些帮助。注意:主要是我将发送和接收图像数据。

谢谢

【问题讨论】:

【参考方案1】:

谷歌搜索“OpenCV C#”给我带来了这个库作为第一个结果:

http://www.emgu.com/wiki/index.php/Main_Page

只要您不想将应用程序分发到不同的计算机(例如一台计算机上的 GUI 和另一台计算机上的图像处理),您就不需要任何套接字通信。

【讨论】:

感谢您的建议,实际上您对套接字的看法是正确的。首先,根据一些论坛的说法,EMGUcv 并没有那么强大,而另一方面,OpenCV 在几乎所有方面都非常强大。现在我的问题是 Visual Studio C++ 需要 7 秒来计算图像的筛选描述符,这太长了。我笔记本电脑上的 Ubuntu 大约需要一秒钟的时间。如果我可以实现一个套接字程序,我可以在 Windows 和 kinect 上使用 GUI,同时在 Ubuntu 系统中进行主处理,因此我可以实现几乎实时的性能。欢迎任何建议。谢谢 你必须首先考虑你的分布式应用程序的架构;特别是谁将成为服务器,谁将成为客户端。然后您应该考虑这两个将用于传输数据的协议。请记住,使用 TCP/IP 时,您不会获得完整的消息,而是会获得部分通信流。因此,您的协议中应该有一些长度信息或消息分隔符。也许已经有符合您需求的协议,并且在 C# 和 C++ 中实现。

以上是关于Visual Studio C++ 到 C# 套接字程序的主要内容,如果未能解决你的问题,请参考以下文章

调试由 C# Visual Studio 2010 插件导入的 C++ dll

c++和c#的Visual Studio键绑定[重复]

MS Visual Studio 2012 Express 是不是同时包含 C#、Visual Basic、C++? [关闭]

为啥 C++ 中的 Visual Studio 不如 C# 中的智能? [关闭]

Visual Studio 2008 中的 C# 项目中的 C++ 项目参考

如何在Visual Studio中选择C++和C#的编译器版本