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

发布于 2024-09-08 21:49:20 字数 1441 浏览 2 评论 0原文

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

ASP.NET-AJAX

  1. 第一个问题是它不是真正的实时
  2. 如果客户端每 x 秒访问一次聊天服务器(恒定时间戳),它就不会是真实的时间,除非 x 非常非常小
  3. 如果 x 非常小,例如 1 秒,并且如果有 1000 个用户同时在线,我认为这确实会严重影响聊天服务器并导致可扩展性/性能问题

WCF-Duplex< /strong>

不幸的是,我浪费了大量的时间来尝试构建一个 WCF 双工服务,该服务维护所有客户端并在需要时通过通道调用客户端。但我最近学习 WCF 双工回调不适用于 ASP.NET(因为 http 是请求和响应类型)。我按照这篇很棒的文章来构建双工服务。

Comet/ReverseAjax/HTTP 服务器推送

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

Jabber 服务器/客户端 (XMPP)

我发现网上可以看到的大多数著名聊天应用程序都在使用 Jabber。我还了解到从头开始编写 Jabber 服务器是一项乏味的任务。我有按应用程序单独存储的用户配置文件。我可以轻松地将其与 Jabber 集成吗?我可以私下托管任何开源 Jabber 服务器吗? (我见过许多开源工具可以轻松构建客户端)

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

谢谢

NLV

I've been trying to build a web based chat application for the past three weeks and i'm facing issues with whatever route (programming technique/technology) i take to build it. I've explained the issues i've experienced with all of'em below. Kindly provide whatever insights you have in this.

ASP.NET-AJAX

  1. First issue is that it is Not Really Real Time
  2. If client hits the chat server every x seconds (constant time stamp) it is not going to be real time unless x is very very less
  3. If x is very small like 1 second and if there are 1000 users online at the same time i think it is really going to hammer the chat server and cause scalability/performance issues

WCF-Duplex

I unfortunately wasted considerable amount of time in this trying to build a WCF duplex service which maintains all the clients and invokes the client through the channel as and when required. But i recently learnt that WCF duplex callback wont work with ASP.NET (since http is request and respond type). I was following this great article to build a duplex service.

Comet/ReverseAjax/HTTP Server Push

I'm extremely new to this technique and wonder how well enough it can scale. After my first glance on this programming technique here in wiki and the very first article on Comet by Alex here, i learned that the client always maintains an open connection (long living ajax calls) to the server which can be used by the server to push "interesting events happening in the server" to the browser (client). So how well can it scale? What if the max no of open connections exceed in IIS or any other issues like that?

Jabber Server/Client (XMPP)

I see that most of the prominent chat applications that can be seen online are making use of Jabber. I also learned that writing a Jabber server from the scratch is a tedious task. I have separate user profile store for by application. Can i integrate that with Jabber easily? Any open source Jabber servers that i can host privately? (I've seen many open source tools to build the client easily)

Any insights provided are very much appreciated.

Thank you

NLV

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

笑咖 2024-09-15 21:49:20

如果您使用的是 .NET,请查看 WebSync。它允许完全可扩展的 comet 使用 IIS 直接与您的应用程序集成。您可以尝试免费的社区版本,以及大量示例和聊天演示。

我最近刚刚使用 WebSyncjabber-net

If you are using .NET, check out WebSync. It allows for fully scalable comet using IIS to integrate directly with your application. There is a free Community edition you can try out, along with tons of examples and chat demos.

I just recently implemented a multi-client Jabber web-app using WebSync and jabber-net.

心意如水 2024-09-15 21:49:20

PokeIn 提供客户端之间的共享对象,它可以帮助您创建令人印象深刻的可靠且快速的 Web 应用程序。即使您的应用程序托管在多个服务器上,PokeIn 也会管理所有服务器上的共享对象。因此,此功能将帮助您创建非常有效的解决方案。除了这些之外,您还可以在那里找到非常有用的示例

PokeIn provides shared objects among the clients and it simply helps you to create impressively solid and fast web applications. Even if your application is hosted on multiple servers, PokeIn manages the shared objects on all of them. So, this feature will help you to create quite effective solutions. In addition to these, you will find very useful samples over there

悲歌长辞 2024-09-15 21:49:20

我知道这是旧的,但如果有人新发现这个你应该考虑使用 SignalR

I know this is old but if somone new founds this you should consider using SignalR

陌上芳菲 2024-09-15 21:49:20

开源 Jabber 服务器

您检查过 OpenFire

Open Source Jabber Server

Have you checked out OpenFire

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文