【问题标题】:Chat Application in ASP.NETASP.NET 中的聊天应用程序
【发布时间】:2009-11-07 13:57:21
【问题描述】:

我要在 ASP.NET 中为朋友编写一个 Ajax 聊天 Web 应用程序,我有一个问题:如果 client1 向 client2 发送消息,应用程序应该如何向 client2 发送消息?有没有比向服务器发送请求更好的方法,“询问”是否有新消息?是否可以直接向客户端发送消息?

【问题讨论】:

    标签: asp.net ajax chat


    【解决方案1】:

    您能做的最好的事情就是使用Persistent HTTP Connection。 google 在其GMAIL 网站上使用 Google Talk 的方式。

    【讨论】:

      【解决方案2】:

      请记住,HTTP 是一个无状态协议,并且每个事务都是从客户端到服务器的。

      服务器可以使用会话来确定该客户端是否“已知”,但至于使用普通的旧 HTTP 将信息发送回客户端,我认为这是不可能的(我的意思是来自服务器发起的连接,而不是对客户端的响应)

      您需要使用 Javascript 来轮询服务器以获取信息。

      如果您希望反过来,您可以使用 Java 或 Flash,但您还需要考虑 NAT 隧道、代理服务器以及客户端可能使用的任何其他奇怪设置。

      【讨论】:

      • 你绝对可以使用持久HTTP连接。所以我不认为这是不可能的。
      • 感谢您的 -1。你所说的工作,但我认为 ASP.NET 仅限于 20 个同时 PHTTP 连接。我认为你可以加注到 100。需要对此进行研究。
      【解决方案3】:

      没有。我不认为服务器可以向客户端的浏览器发送消息。 以下是我实现聊天应用程序的方法:

      1. client1 通过 Ajax 向服务器发布消息
      2. 服务器将其保存到存储库(我在这种情况下使用singleton 对象)
      3. client2 从存储库中获取消息
      4. 将邮件标记为已读

      一旦聊天会话关闭或过期,我会将聊天日志保存到数据库中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-25
        • 1970-01-01
        • 2018-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-28
        • 1970-01-01
        相关资源
        最近更新 更多