我正在用.NET编写我的第一个客户端 - 服务器应用程序,我可以使用许多可能的协议和库:UDP,TCP,HTTP,序列化,.NET Remoting,WCF ...我该如何选择“对“一个(我的名单中缺少的任何重要技术)?”
我的场景非常简单:客户端在地图上显示数百个对象的当前状态。有两种类型的对象,每种对象都有许多状态信息字段。在连接时,服务器发送突发中所有对象的状态,然后发送增量更新。客户端也可以请求历史数据。
答案 0 :(得分:2)
WCF应该是您的默认选择,除非您在使用WCF时遇到一些特定问题。
例如,在某些环境中,WCF可能可能不够快(令人怀疑)。只有在这种情况下,我才会选择其他任何东西。
Remoting已被弃用,有利于WCF。 WCF将为您完成序列化,它可以通过HTTP或原始TCP / IP进行通信。如果有的话,您需要对服务进行少量更改,以便从一种协议更改为另一种协议。
答案 1 :(得分:0)
有很多方法可以做到这一点:你实际上是在设计自己的应用程序协议,所以选择完全属于你自己;没有“标准”方式让客户端和服务器进行通信。
您想要对客户端和服务器交换的内容进行完全低级控制吗?然后使用原始TCP(UDP在这里没用,因为它是无连接的,它不保证交付);但您必须自己编码和传输对象数据,或者将它们序列化并通过原始TCP流传输它们。
WCF使事情变得更容易,为您封装所有这些内容;如果客户端和服务器都是在最近的框架上运行的.NET应用程序,那么这应该是您的首选。