2016-08-22 67 views
0

Sup Dev's。使用长轮询时的聊天应用程序问题

我目前正在使用像Facebook这样的聊天应用程序,但使用长轮询。每当我打开一个聊天窗口,一个长的轮询请求将被发送到服务器,并在请求超时或成功响应时重新启动。但是,如果我关闭特定朋友的窗口选项卡并再次打开窗口选项卡,两个长轮询请求正在等待服务器上的新消息,并在两者都响应时作出响应。所以它会从对手发送的每条消息返回2条消息,并显示2条消息。我可以做什么,因此不会有任何更长的每个朋友聊天窗口的投票请求?我可以通过聊天窗口关闭按钮绑定一个函数来中断第一个长轮询请求吗?任何其他方式来完成我的事情?

谢谢Chzn。

+0

这并不能解决您的问题,但将某些ID绑定到邮件将阻止显示相同的邮件,因为您将检查具有该ID的邮件是否已存在 – Aleksandar

+0

非常感谢。我会试试看。如果有人有另一个想法。我希望能回复。 – chzn

回答

1

完美地工作。使用此...

if(!$("#"+result.chatid).length) { //do things }

...检查现有消息。