WCFVS。Socket想知道WCF和.NETSocket哪个效率更高,在游戏开发场景中推荐更多。以下是游戏的不同部分:-在Internet上进行的客户端/服务器通信-在本地网络上进行对等。我想知道您将在这些部件上使用哪种技术(两者都使用wcf,两者都使用套接字,一端使用wcf,另一端使用套接字......)以及原因(如果可能)。涉及的游戏对通信频率要求不高(每秒3-4次就够了)。WCF的目的是让开发者不用为不同的传输协议编写代码,而且它的特性很多,所以比Sockets慢。加上用于面向服务的应用程序的WCF。我认为游戏不属于这一类。但是你提到每秒只有3-4个请求,WCF可能是更好的选择,因为它非常灵活并且可以节省大量开发时间。一些要点:以net*开头的绑定旨在??用于.NET应用程序之间。(客户端和服务器WCF)如果其中一个不是WCF:您只能使用不以网络前缀开头的绑定。BasicHttpBinding、WSHttpBinding等。这些比net*绑定慢得多,因为有很多开销。您可以继续使用NetPeerTcpBinding并使用一段时间。它还支持双工通信。以下是P2P的一些有用链接:使用WCF和.NETFramework3.5进行对等编程http://blogs.interknowlogy.com/2009/08/05/building-a-really-simple-wcf-p2p-application如果您希望最大化性能套接字是可行的方法,WCF有数据和处理开销。但是...如果性能对您至关重要,您还应该考虑汇编而不是c#。WCF每秒将处理3-4个请求而不会闪烁。我会从WCF开始,它会为您节省大量开发时间,而不必自己做解析器等。您可以专注于游戏的其他部分。如果事实证明我们的WCF对于您的游戏来说太慢了,您可以放弃WCF并切换套接字。这两种技术都可以管理您提到的每秒请求数,但具有非常不同的编程模型。套接字非常低级,需要您在其上构建自己的通信协议。但是,开销可能很小。WCF是在RPC(远程过程调用)之后建模的,并提供了传输的抽象。它允许您使用相同的API作为不同的技术,如Web服务或消息传递。但是,所提供的抽象有其自身的一系列问题,例如某种复杂性或陡峭的学习曲线......在您的情况下,您还可以查看MSMQ、ZeroMQ或ActiveMQ等消息传递技术,它们通过套接字提供了很好的抽象并大大简化了开发。如果您不需要实时性能(您使用的是C#,所以我猜是这种情况)那么我建议使用WCF。WCF将为您提供更简单的OOP样式工具来编写服务器-客户端协议。WCF的优势在于,从长远来看,您最终在其中编写的协议和代码更易于维护和遵循。如果您想添加任何内容,则可以更轻松地向协议添加和更改功能。WCF是高度可定制的,因此您可以更好地了解它提供的不同数据发送方法以及如何覆盖它们。可以使用不同的绑定类型来优化数据传输:WCFBindingDepth以上就是C#学习教程:WCFVS的全部内容。socket分享,如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
