C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 用于实时环境中的通信的WCF或套接字?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个场景,我需要跨2个客户端发送一系列数据.

数据包括序列化XML,其中包含其他客户端需要响应的命令.

我还需要通过网络发送图像,因为我需要提供视频/音频聊天形式的聊天工具.

我想为两者提供单一的通信媒体,因为消息/命令的数量可能很少.

WCF或套接字?

解决方法

WCF是用于构建面向服务的应用程序的API.我不认为视频/语音聊天就是这种应用.

首先,您需要为此类应用程序提供哪些传输功能?我对语音/视频传输的了解非常差,但我希望:

>客户端连接聊天服务器,发送语音/视频数据,接收其他客户端语音/视频数据的双工通信.
>流式传输 – 数据量可能非常大,因此在您开始阅读数据时处理数据会很不错.此外,一些编码算法应该与流媒体一起使用.
>服务质量 – 控制可持续的传播速度. (如果你想进行会议视频聊天,你还需要协调多个流)

因此,通过简单描述这三个期望,我已经看到了问题. WCF内置Net.Tcp绑定does not allow duplex communication and streaming together.还要注意,通过WCF进行Net.TCP通信性能要比普通的socket通信差很多.这是因为WCF简化了很多事情,但这些简化和概括减慢了处理速度.

同样基于所选算法this可能是个问题.

Here您可以在Silverlight 4中找到一些视频聊天的描述.Silverlight允许WCF和net.tcp绑定,但仍然在套接字上开发通信.

Here您可以找到广泛使用的IP语音协议的描述 – 用于数据传输的RTP和用于协调和QoS的RTCP.这些协议也用于视频传输.通过谷歌搜索我找到了implementation for .NET(我不知道实现有多好,我只是用google …)

大佬总结

以上是大佬教程为你收集整理的c# – 用于实时环境中的通信的WCF或套接字?全部内容,希望文章能够帮你解决c# – 用于实时环境中的通信的WCF或套接字?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。