开发聊天模块

本文关键字:模块 聊天 开发 | 更新日期: 2023-09-27 18:19:31

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

开发聊天模块

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

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

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

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

https://github.com/SignalR/SignalR

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

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