思考一个步步高在线多人游戏,有超过100个,甚至1000个在线用户。游戏通信使用Ajax + 3秒Comet连接间隔+ ASP.NET技术完成。这是一个真实的场景吗?
没有那么多Comet开放连接阻止服务器导致大延迟吗?
答案 0 :(得分:3)
这里的答案是错误的。 IIS可以很好地控制彗星,WebSync可以证明这一点。
答案 1 :(得分:3)
可扩展的?当然!
可伸缩性问题与后端解决方案而非IIS有关。搜索谷歌“PokeIn”彗星ajax库。 (绝对适用于ASP.NET和免费)
答案 2 :(得分:0)
这是可行的。
IIS / ASP.NET将请求排队,并且该队列由.NET线程池提供服务。传统的观点是线程阻塞,同时它完成COMET场景不可扩展的工作。
但是,ASP.NET提供异步http处理程序,这意味着线程将返回到线程池,直到响应准备好发送回客户端。查看我关于此事的博客文章
http://neilmosafi.blogspot.com/2009/03/comet-pushing-to-web-browser.html http://neilmosafi.blogspot.com/2009/03/comet-bayeux-protocol-and-aspnet.html
答案 3 :(得分:-1)
不,它不可扩展。您需要编写一个轻量级服务器来处理连接。已经有轻量级服务器编写商业和开源。