问候,使用C#在两个客户端之间进行视频流传输的最佳做法是什么。
第一个客户端将有一个Windows应用程序,允许浏览第二个客户端PC并选择一个视频文件,通过IP地址在第一个客户端PC中播放它。
谢谢,
您应该将TCP / IP作为传输层,比HTTP更快,更适合这种大型二进制数据。我还会使用WCF(Windows Communication Foundation),这使得流式传输非常容易。如果您从未使用过WCF,那么您可以在几小时内完成流式传输。
这是一个关于streaming and WCF.的链接
你应该看看Silverlight smooth streaming!
对于视频流,您应该使用UDP协议。
对于像视频流这样的实时连接来说,使用UDP会更有效,因为丢弃的数据包很快就会被新的数据包取代。如果你对数据包进行某种排序,你可以在接收端正确地重新组装它们。
您可以使用System.Net.Sockets.UdpClient创建UDP套接字。或者,如果需要,可以使用System.Net.Sockets.Socket类直接访问Winsock32 API。