我正在开发asp.net中的在线聊天应用程序。我面临一个问题,比如假设有两个用户开始沟通。当第一个用户在基于javascript的聊天框中写入消息然后ajax请求进入服务器。我如何打开第二个用户聊天框,以便他回复第一个用户消息?
答案 0 :(得分:2)
当用户发送消息时,将向您的服务器发出AJAX请求,您可能会将发布的消息保存到数据库中。您还可以每X秒发出一次ajax请求,检查服务器上任何新发布的消息,如果有,则向用户显示。
或者,您可以使用名为Comet的技术,通过该技术,您的服务器可以“推送”对客户端的响应,以便在发布新消息时通知他们。
答案 1 :(得分:2)
您应该研究长轮询和网络套接字。这些允许您的客户更有效地推送更新。您可以每隔x秒轮询一次服务器,但这会浪费资源。
答案 2 :(得分:0)
你可能想看看SignalR,它是.NET的异步信令库,非常适合聊天应用程序:
https://github.com/SignalR/SignalR
Scott Hanselman在他的博客上有一个很好的例子: