C# Web聊天应用程序-ASP.NET/Jabber/Ajax/WCF/Comet/ReverseAjax-面临的问题-寻求见解

C# Web聊天应用程序-ASP.NET/Jabber/Ajax/WCF/Comet/ReverseAjax-面临的问题-寻求见解,c#,asp.net,wcf,chat,comet,C#,Asp.net,Wcf,Chat,Comet,在过去的三周里,我一直在尝试构建一个基于web的聊天应用程序,但无论我采用何种途径(编程技术/技术)构建它,我都面临着问题。下面我已经解释了我在所有这些方面遇到的问题。请提供您对此的任何见解 ASP.NET-AJAX 第一个问题是它不是真正的实时的 如果客户端每x秒点击一次聊天服务器(固定时间戳),它将不会是实时的,除非x非常少 如果x非常小,比如1秒,如果同时有1000个用户在线,我认为这会严重影响聊天服务器,并导致可伸缩性/性能问题 WCF双工 不幸的是,我在尝试构建一个WCF双工服务时浪费

在过去的三周里,我一直在尝试构建一个基于web的聊天应用程序,但无论我采用何种途径(编程技术/技术)构建它,我都面临着问题。下面我已经解释了我在所有这些方面遇到的问题。请提供您对此的任何见解

ASP.NET-AJAX

  • 第一个问题是它不是真正的实时的
  • 如果客户端每x秒点击一次聊天服务器(固定时间戳),它将不会是实时的,除非x非常少
  • 如果x非常小,比如1秒,如果同时有1000个用户在线,我认为这会严重影响聊天服务器,并导致可伸缩性/性能问题
  • WCF双工

    不幸的是,我在尝试构建一个WCF双工服务时浪费了大量时间,该服务维护所有客户机,并在需要时通过通道调用客户机。但我最近发现WCF双工回调不能与ASP.NET一起工作(因为http是请求和响应类型)。我正在遵循建立一个双工服务

    Comet/ReverseAjax/HTTP服务器推送

    我对这项技术非常陌生,不知道它的可扩展性有多好。在我第一眼看到这种编程技术和Alex关于Comet的第一篇文章之后,我了解到客户机始终保持与服务器的开放连接(长期存在的ajax调用),服务器可以使用该连接将“服务器中发生的有趣事件”推送到浏览器(客户机)。那么它能扩展到什么程度呢?如果IIS中打开的最大连接数超过或任何其他类似问题,该怎么办

    Jabber服务器/客户端(XMPP)

    我发现大多数在线聊天应用程序都在使用Jabber。我还了解到,从头开始编写Jabber服务器是一项乏味的任务。我有单独的用户配置文件存储,按应用程序分类。我能很容易地把它和Jabber结合起来吗?有我可以私下托管的开源Jabber服务器吗?(我见过许多易于构建客户端的开源工具)

    非常感谢您提供的任何见解

    多谢各位


    NLV

    开源Jabber服务器


    您是否签出了

    如果您使用的是.NET,请签出。它允许完全可伸缩的comet使用IIS直接与您的应用程序集成。有一个免费的社区版,你可以尝试,连同吨的例子和聊天演示


    我最近刚刚使用和实现了一个多客户端Jabber web应用程序。

    提供了客户端之间的共享对象,它可以帮助您创建令人印象深刻的可靠快速web应用程序。即使您的应用程序托管在多台服务器上,PokeIn也会管理所有服务器上的共享对象。因此,此功能将帮助您创建非常有效的解决方案。除了这些之外,你会发现非常有用的样本超过

    < P>我知道这是旧的,但是如果有新的发现,你应该考虑使用< /P>彗星和ASP.NET的一些信息:你有任何示例代码用于整合ASP.NET网站的JabbAcess吗?