c# – 什么是最好的设计/方式来保持用户连接?
我在一个自我学习的POC上工作,我想让我的用户连接到LIVE模式.例如,一个4位用户可以一次玩的游戏,这里我需要保持这个用户连接到我的游戏.
M不好的Socket类型的编程和爱做在服务的方式.我知道的是“这是最好的方法是什么”.根据我最初的Brain Storming,我决定使用SilverLight(在浏览器中或浏览器中)作为前端[我没有问题]. 我更关心后端. 现在是轮到骰子了 请在这里给你最好的答案,这将有助于我学习. 感谢先生 编辑: 开始赏金,因为我需要更多的反馈. FH 解决方法
Fasih,
由于HTTP是无状态的,因此您无法从代码进行双向通信.但是如果您使用AJAX,则会出现解决方法.正如你所说的定时器是一种方式.另一个被称为COMET或反向AJAX. 这样就可以模拟双向通信而不依赖定时器.要完成此操作,您必须对服务器进行长时间运行的AJAX调用,并且只有在更新时才会返回该调用.假设简单的网络聊天场景. 2个用户对服务器进行了长时间的AJAX调用,并且都轮询通用介质(例如DB),如果user1发送一些文本,它将被更新,并且用户2的等待的AJAX调用接收文本并返回.而且两个用户再次进行长时间的呼叫来相互监听. 由于您已经决定使用silverlight,您可以使用WCF双工通道来模拟双向通信.正如我刚才所说,不要用定时器逻辑.如果您正在轮询服务器10秒(任何事情都可能发生在10秒内的游戏中),它不会立即进行,如果您每秒轮询,它将增加服务器负载. 所以避免定时器逻辑并使用长时间运行的AJAX调用. 如果您正在寻找除WCF双工通道以外的选项,则可以使用HTML5 web sockets和COMET等其他方式. 查看这个post的浏览器支持web socokets. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |