开发聊天模块

时间:2012-01-06 05:15:17

标签: c# javascript jquery ajax

我正在开发asp.net中的在线聊天应用程序。我面临一个问题,比如假设有两个用户开始沟通。当第一个用户在基于javascript的聊天框中写入消息然后ajax请求进入服务器。我如何打开第二个用户聊天框,以便他回复第一个用户消息?

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

你可能想看看SignalR,它是.NET的异步信令库,非常适合聊天应用程序:

https://github.com/SignalR/SignalR

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

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