NetworkComms.net通过USB从Windows发送到ipad非常慢

时间:2013-08-13 16:36:18

标签: c# windows xamarin.ios network-programming usb

需要通过USB将实时视频从USB发送到iPad,每秒至少15帧,512×512字节帧。

但只看到< USB每秒1帧(WIFI为4-6 fps)。  Loop是iPad应用程序使用NetworkComms.SendReceiveObject()来请求帧,而Windows应用程序使用NetworkComms.SendObject()来发送帧回复。

NetworkComms可以不间断地从Windows到iPad直接传输512 x 512字节帧吗?

如果发送100×100字节帧,则通过USB观看3.6 fps,通过WIFI观看30fps。  但是在期望的帧尺寸512×512处,USB是< 1fps,WIFI约为6fps。

奇怪WIFI更快。

Windows应用程序是带有NetworkComms.net的Visual Studio 2010 C#。  iPad应用程序是Xamarin Monotouch C#和NetworkComms.net。

1 个答案:

答案 0 :(得分:1)

使用UDP broadcasting解决方案在以下位置执行连续,异步,单向流式处理: http://www.networkcomms.net/udp-broadcasting/

或者,更好的是,使用他们的TCP方法,它支持压缩以获得更快的速度。下载他们的优秀示例并在AdvancedSend.cs文件中查找示例代码。

警告:如果从Visual Studio运行,则运行速度极慢。当我运行C#.exe时,我通过USB从iPad-7到iPad获得44Mbps的吞吐量(这是iPad硬件的USB2.0)。

这是我的代码: // VISUAL STUDIO 2010 C#流媒体传输到IPAD:

for(;;)// thread的exec循环 {         NetworkComms.SendObject(“Ultrasound Stream”,ultrasound_stream_sourceId,false,frame_to_iPad); }

//来自WINDOWS的IPAD STREAMING RECEIVER:

NetworkCommsDotNet.NetworkComms.AppendIncomingPacketHandler(“Ultrasound Stream”, (packetHeader,connection,incoming_bytes)=> {         //处理incoming_bytes的代码在这里。 },false);