Silverlight套接字或db请求?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Silverlight套接字或db请求?相关的知识,希望对你有一定的参考价值。

我目前正在编写一个基于在线回合制作RPG的作业。在游戏中,玩家可以互相聊天并在完成转弯后发送他们的动作。什么是照顾球员之间数据交换的最佳方式。套接字或将所有信息存储在数据库中,程序会定期检查是否有检查更新的请求?除非有更好的方法。

请注意,游戏规模较大,即很多玩家将在同一台服务器上同时拥有多个游戏,因此我必须尽量提高效率。

答案

在Silverlight中,您只能连接回服务于Silverlight应用程序的主机,以便排除客户端 - 客户端套接字。游戏中的所有内容(包括聊天)都必须通过服务器进行。

Windows Communication Foundation(WCF)非常适合在Silverlight2中使用。让游戏基于回合使事情变得更容易,因为这意味着你不必在玩家之间实时保持完全相同的游戏状态(即:不是针对最长100毫秒的延迟)。

另一答案

如果可能,请使用WCF。

另一答案

有两种主要的可能性。您可以应用套接字通信,也可以使用双工WCF。以下是权衡:

套接字=>比较小的生产力更好的性能 双工WCF =>性能更差但生产率更高

两个场景都有一些很好的网络示例,但如果决定WCF解决方案,这里有一些资源:

Peter McG的 very good tutorial 。 关于 duplex WCF from msdn.的信息

以上是关于Silverlight套接字或db请求?的主要内容,如果未能解决你的问题,请参考以下文章

Silverlight 模板选择器解决方案效果很好,但不能混合

Windows Azure 服务总线 - 一般问题

在 Blend 和 VS 2010 中编辑附加属性

从 Silverlight 客户端示例代码调用 WebSocket?

Silverlight 中的多任务和多线程

在 Silverlight 3 中请求客户端访问策略文件