C#中三个kinect 2设置之间的通信

时间:2015-12-11 09:58:52

标签: c# sockets kinect

我想从三个不同的设备捕获kinect流。我创建了一个Windows窗体应用程序,实际上从一个kinect捕获流并将其存储到硬盘。我想对三个kinect v2做同样的事情。因此,我建立了一个包含三个运动和三个PC的系统。这些PC如何相互通信?我知道我必须创建一个服务器 - 客户端架构,我必须从服务器和客户端运行我的应用程序以将数据发送到硬盘。如何在设备之间执行通信?基本上我想要的东西

  • 同时打开,录制和停止三个设备的kinect流。
  • 上传服务器中的所有内容(已经完成了!我创建了一个filezilla服务器,并使用简单的C#scirpt发送数据。
  • 编辑:我的应用是一个Windows窗体应用程序,当我按下该应用程序中的录制按钮同时从三个运动中录制时,我想要这样做。

2 个答案:

答案 0 :(得分:2)

您可以在服务器上创建WCF服务。

如果您不了解WCF,可以先查看此处:https://msdn.microsoft.com/en-us/library/dd456779(v=vs.110).aspx

然后可以将服务配置为通过TCP执行二进制。在您的情况下,您不希望使用SOAP over HTTP。以这种方式传输图像数据将非常缓慢。

答案 1 :(得分:2)

C#中有各种TCP服务器客户端模型示例,可用于传递启动/停止命令。您只需要提出一套简单的规则来告诉客户该做什么(即开始录制,停止录制,发送确认等)

如果您对服务器客户端模型有特定问题,那么看看SO,有很多很好的例子。

http://www.codeproject.com/Articles/5733/A-TCP-IP-Server-written-in-C

https://msdn.microsoft.com/en-us/library/fx6588te%28v=vs.110%29.aspx