【发布时间】:2011-03-14 16:35:17
【问题描述】:
在过去的三周里,我一直在尝试构建一个基于 Web 的聊天应用程序,但无论我采用哪种方式(编程技术/技术)来构建它,我都面临着问题。我已经解释了我在下面遇到的所有问题。请提供您对此的任何见解。
ASP.NET-AJAX
- 第一个问题是它不是真正的实时
- 如果客户端每 x 秒访问一次聊天服务器(恒定时间戳),除非 x 非常非常少,否则它不会是实时的
- 如果 x 非常小(例如 1 秒)并且同时有 1000 个用户在线,我认为这确实会影响聊天服务器并导致可扩展性/性能问题
WCF-双工
不幸的是,我在尝试构建 WCF 双工服务时浪费了大量时间,该服务维护所有客户端并在需要时通过通道调用客户端。但我最近learnt 认为 WCF 双工回调不适用于 ASP.NET(因为 http 是请求和响应类型)。我在关注this great article 构建双工服务。
Comet/ReverseAjax/HTTP 服务器推送
我对这种技术非常陌生,想知道它的扩展能力有多好。在我第一次看到in wiki 的这种编程技术和 Alex here 的第一篇关于 Comet 的文章之后,我了解到客户端始终保持与服务器的开放连接(长期存在的 ajax 调用),可以由服务器将“服务器中发生的有趣事件”推送到浏览器(客户端)。那么它可以扩展多少呢?如果 IIS 中的最大打开连接数超过或出现任何其他类似问题怎么办?
Jabber 服务器/客户端 (XMPP)
我发现大多数可以在网上看到的著名聊天应用程序都在使用 Jabber。我还了解到,从头开始编写 Jabber 服务器是一项乏味的任务。我按应用程序有单独的用户配置文件存储。我可以轻松地将它与 Jabber 集成吗?我可以私人托管的任何开源 Jabber 服务器? (我见过很多开源工具可以轻松构建客户端)
非常感谢您提供的任何见解。
谢谢
NLV
【问题讨论】:
-
关于彗星和 ASP.NET 的一些信息:stackoverflow.com/questions/65673/…