【问题标题】:Developing chat Module [closed]开发聊天模块[关闭]
【发布时间】:2012-02-03 22:29:26
【问题描述】:

我正在 asp.net 中开发在线聊天应用程序。我面临一个问题,比如假设有两个用户开始通信。当第一个用户在基于 javascript 的聊天框中写消息时,ajax 请求会发送到服务器。但是我如何打开第二个用户聊天框以便他响应第一个用户消息?

【问题讨论】:

  • 恐怕不是一个有用的问题。太远了,太宽泛了。
  • 它不是太宽泛,它是一个真正的问题。他在询问如何在用户 1 输入消息或发送消息时显示用户 2。我会发布一个答案。
  • 我认为您是在要求这里的人们开发一个完整的聊天应用程序!请具体

标签: c# javascript jquery ajax


【解决方案1】:

当用户发送消息时,将向您的服务器发出 AJAX 请求,您可能会将发布的消息保存到数据库中。您还可以每隔 X 秒发出一个 ajax 请求,检查服务器上是否有任何新发布的消息,如果有,它会将它们显示给用户。

或者,您可以使用一种称为 Comet 的技术,通过该技术,您的服务器可以向客户端“推送”响应,以便在发布新消息时通知他们。

【讨论】:

    【解决方案2】:

    您应该研究长轮询和网络套接字。这些使您的客户可以更有效地向他们推送更新。您可以每 x 秒轮询一次服务器,但这会浪费资源。

    【讨论】:

      【解决方案3】:

      您可能想看看 SignalR,这是一个适用于 .NET 的异步信号库,非常适合聊天应用程序:

      https://github.com/SignalR/SignalR

      Scott Hanselman 在他的博客上有一个很好的例子:

      http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx

      【讨论】:

        猜你喜欢
        • 2011-05-20
        • 1970-01-01
        • 1970-01-01
        • 2012-03-31
        • 1970-01-01
        • 2015-11-01
        • 1970-01-01
        • 2013-09-19
        • 1970-01-01
        相关资源
        最近更新 更多