微软Net Core 3.0以后的框架,包括最新发布的Net6, 取消WCF,因为WCF是面向WinFrom平台的,而Net.Core及Net6是跨平台的。
以前的项目中用到了WCF的Net.tcp的双向通信协议,要求是常连接,有服务器通知回调功能。
现在Net6后,用那个通信协议可以实现常连接,服务器回调功能?Grpc的双向通信能力如何?
要求是多客户端(跨平台、10000以上的终端)常连接,服务器有实时的回调功能(可以定位一批符合条件的客户端进行回调通知)。
Grpc是否可以满足此场景要求呢?WebSocke是否也可以满足?以上场景用那种协议更好呢?
在Net6下,WCF的替代方案是使用Grpc或WebSockets,它们都可以满足多客户端常连接,服务器有实时回调通知的要求。Grpc是Google开发的一种高效、灵活的、开源的远程过程调用(RPC)框架,支持多种语言,包括C#。WebSockets是HTML5标准提供的一种协议,可以实现双向通信。
如果要选择一种方案,建议根据具体场景进行评估,考虑数据传输效率、实现复杂度、协议支持等因素。如果要求实时通信且数据量不大,可以考虑使用WebSockets;如果需要高效的传输大量数据,可以考虑使用Grpc。