我正在ASP.Net MVC网站上构建聊天系统,我希望用户看看其他聊天用户是否正在撰写消息。
与gtalk或msn中显示的内容相同,当其他用户开始编写时,“userA正在编写....”然后在用户停止时隐藏此消息。
在网站上实施此功能背后的概念是什么?我应该知道以正确的方式构建它?
答案 0 :(得分:1)
这一切都是通过AJAX完成的
User1在写入开始时立即向服务器发送writing=true
值,并在提交消息时发送writing=false
。
User2每隔x
秒轮询一次服务器,以查看if(writing){display "User1 is writing a message"}
这显然是两种方式,因此User1和User2都是从服务器推送writing
布尔值。
我建议在这个过程中使用jQuery和JSON。
答案 1 :(得分:0)
查找编辑文本的“on change”(或等效内容)。发生计时器时启动计时器并向聊天服务器发送ajax消息以通知他们。提交文本或计时器用完时,请清除消息。
答案 2 :(得分:0)
客户端,计时器计数为500毫秒,变量sentState设置为false。
每当客户端键入内容时,重置该计时器,如果是sentState,则向服务器发送一个指示客户端正在键入的AJAX请求。最后,将sentState设置为true。
如果计时器达到500毫秒,则向服务器发送一个AJAX请求,指示客户端不再输入,并将sentState设置为false。