加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 用于实时环境中的通信的WCF或套接字?

发布时间:2020-12-16 01:40:12 所属栏目:百科 来源:网络整理
导读:我有一个场景,我需要跨2个客户端发送一系列数据. 数据包括序列化XML,其中包含其他客户端需要响应的命令. 我还需要通过网络发送图像,因为我需要提供视频/音频聊天形式的聊天工具. 我想为两者提供单一的通信媒体,因为消息/命令的数量可能很少. 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 …)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读