php - 超出 IP 连接限制

标签 php javascript ajax

我使用 php 脚本解析远程 xml 文件并将网页上的输出打印到 div 中。由于我需要输出必须与当前播放的轨道同步,所以我使用 Javascript 每 20 秒重新加载一次 div 内容。在测试页面时,我遇到了托管问题,并收到消息“超出 IP 连接限制”,网站无法访问。我已经改变了IP来解决这个问题。是否有解决方法来解析元数据而不影响服务器和运行网络托管问题?

<script>
setInterval(function() {
    $('#reload').load('current.php');
}, 20000);
</script>

最佳答案

由于网页是基于客户端的实体,它本质上无法接收任何未请求的数据。话虽如此,您可以考虑几个选项。

首先,我不知道您使用的是哪个网络托管服务商,但他们应该让您每 20 秒刷新页面(或像您一样发出请求)不止一次,所以我会就此与他们联系。拒绝服务攻击应该更像是每个连接每秒 2 或 3 次。可能有一个我只是没有看到的更好的答案,但乍一看这就是我的看法。

您可能要考虑的一个选项是使用 Web Socket ,这是 HTML 5 的一项新功能,使 Web 服务器能够在访问者的浏览器之间保持开放连接并来回发送数据包。这避免了浏览器每 20 秒不断轮询一次服务器的需要。当然,这些都是新的,我相信它们只适用于 Safari 和 Chrome。我还没有对它们进行过实验,但计划在未来进行。

总而言之,我不知道有什么比经常轮询服务器以检查更改更好的方法了。根据我浏览器的 XMLHttpRequest 选项卡,这就是 gmail 查找新邮件的方式。如果您的主机不允许您在每个时间间隔内发出更多请求,则可能会降低轮询服务器的频率或切换到其他主机。

关于php - 超出 IP 连接限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640640/

相关文章:

php - ZendFramework 与其他框架的集成

php - 如何在 html/css/js/php 中更改事件菜单项样式

javascript - 为什么我的删除函数只删除 jquery 中express中的第一个元素

javascript - 如何在javascript中将字符串转换为数组?

javascript - onchange不能用?

javascript - JS如何判断何时调用回调函数?

php - 从 3 个表中获取结果,其中 2 个列匹配 mysql

php - Zendframework 2 使用静态方法调用服务

javascript - 脚本1003 : Expected ':' in IE 11 only

php - 使用ajax为每个输入字段更新mysql中的数据