在计算机之间流式传输大量数据

时间:2016-05-18 13:54:56

标签: c# stream streaming client-server data-stream

我正在Unity3D中处理一个项目,我需要从客户端计算机向主/服务器计算机发送大量数据。

每台客户端计算机都连接有Kinect传感器。 某些的Kinect数据将以某种方式被蒸发到本地化的主计算机上。

我的问题是,最好的方法是什么?我目前在Unity3D中使用C#中的RPC网络协议。我基本上在客户端计算机上运行客户端Unity,从kinect获取数据,将其转换为字节并通过LAN将其发送到我的服务器(由另一个Unity程序接收)。

但是,只使用一个客户端使用10Mb / s的下载/上传速度,大约30秒的流量后,我的网络似乎陷入困境,然后拒绝再发送数据,直到我再次重新启动客户端。 / p>

我对网络程序不太了解。但我只是想知道是否有更好的方法可以使用?

注意:

  • 所有客户和主计算机实际上都在同一个房间(所以一切都在本地)。

  • 根据我的计算,每个客户端需要以大约10Mb / s的速度运行。很可能会有大约6个客户。意味着总流量为60Mb / s。如果我沿着网络路线走下去,哪个不成问题? (因为它全部是本地的)。

  • 只要我能够在Master端实际将数据导入Unity,就不一定要在Unity3D中进行流式传输。

  • 数据本身每秒发送约30次(考虑到' 10Mb / s')

感谢。

---更新---

我在做什么?

我们的想法是能够将所有客户端(已连接Kinects)的3D深度数据流式传输到Master。然后,主人将处理所有这些数据,并构建所有Kinects面对的房间中心的3D表示(使用点云)。

  • 这是实时的(或根据具体情况,我可以实时获得)。

  • 我确实使用有线局域网(所有通过新的路由器连接千兆以太网) - 全部都是本地化的,都在10英尺范围内。

  • 主计算机是2.3 GHz Intel Core i7,因此它应该能够接收10Mbs的流。

  • '陷入困境'我之前提到的问题可能归结为Unity的RPC系统,我知道的所有内容? :/

  • 我很想写一个小型Windows程序,它将Kinect数据传输到主IP - 并让Unity接收它(不知何故 - 我不知道如何实现它 - 它只是似乎更符合逻辑,对吗?)

感谢。

0 个答案:

没有答案