Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用新消息更新聊天窗口_Javascript - Fatal编程技术网

Javascript 如何使用新消息更新聊天窗口

Javascript 如何使用新消息更新聊天窗口,javascript,Javascript,有没有更好的方法用新消息更新聊天记录?这是使用setInterval更新聊天的正确方法吗?很好,只是一个小小的调整,而不是将AJAX调用封装在一个时间间隔内(如果服务器出现问题,这可能会导致未返回的请求池),您应该将setTimeout抛出到AJAX回调中以创建递归调用。考虑: setInterval(function{ //send ajax request and update chat window }, 1000) 是的,一个小小的调整,而不是将AJAX调用封装在一个时间间隔内

有没有更好的方法用新消息更新聊天记录?这是使用setInterval更新聊天的正确方法吗?

很好,只是一个小小的调整,而不是将AJAX调用封装在一个时间间隔内(如果服务器出现问题,这可能会导致未返回的请求池),您应该将
setTimeout
抛出到AJAX回调中以创建递归调用。考虑:

setInterval(function{

 //send ajax request and update chat window


}, 1000)

是的,一个小小的调整,而不是将AJAX调用封装在一个时间间隔内(如果服务器出现问题,这可能会导致未返回的请求池),您应该向AJAX回调抛出
setTimeout
,以创建递归调用。考虑:

setInterval(function{

 //send ajax request and update chat window


}, 1000)

有两种主要的选择(或更流行的方式)

拉动

首先是拉,这就是你正在做的。每x(毫秒)秒检查一次服务器配置是否已更改

这是html4方式(不包括flash等,因此仅限于html/js)。对于php来说,这不是最好的方法,因为对于sinle用户来说,每分钟有很多连接(在示例代码中,每秒至少有60个连接)

还建议在响应之前等待,然后等待。例如,如果您每1秒请求一次更新,但您的响应需要2秒,那么您就是在敲打服务器。看

推送

其次是推动。这更像是HTML5的方式。这是由WebSocket实现的。所发生的是,客户端正在“列出”连接并等待更新。当它被更新时,它将触发一个事件

在PHP中实现这一点并不好,因为您需要一个恒定的连接,并且您的服务器很快就会溢出,因为PHP无法将连接推送到后台(如果我没有记错的话,Java也可以)


我亲自制作了一个小型聊天应用程序并使用了它。它工作得很好。我只使用了免费版本,所以不知道它有多贵。

有两种主要的选择(或者更流行的方式)

拉动

首先是拉,这就是你正在做的。每x(毫秒)秒检查一次服务器配置是否已更改

这是html4方式(不包括flash等,因此仅限于html/js)。对于php来说,这不是最好的方法,因为对于sinle用户来说,每分钟有很多连接(在示例代码中,每秒至少有60个连接)

还建议在响应之前等待,然后等待。例如,如果您每1秒请求一次更新,但您的响应需要2秒,那么您就是在敲打服务器。看

推送

其次是推动。这更像是HTML5的方式。这是由WebSocket实现的。所发生的是,客户端正在“列出”连接并等待更新。当它被更新时,它将触发一个事件

在PHP中实现这一点并不好,因为您需要一个恒定的连接,并且您的服务器很快就会溢出,因为PHP无法将连接推送到后台(如果我没有记错的话,Java也可以)


我亲自制作了一个小型聊天应用程序并使用了它。它工作得很好。我只使用了免费版本,所以不知道它有多贵。

您也可以查看WebSocket,但除此之外,是的,定期的ajax请求是更新聊天的最佳方式。您也可以查看WebSocket,但除此之外,是的,定期的ajax请求是更新聊天的最佳方式。也许对你也有用。