我创建了一个小应用程序来分析网络连接。它从浏览器运行并连接到本地 PHP/Apache 服务器。然后它要求 PHP 通过原始套接字发送一个 ping 数据包。问题是,如果我尝试 ping 的主机不存在或不响应 ping,我们永远不会从服务器得到答案。
我相信套接字请求会一直存在,直到 apache 重新启动。我最近从我的应用程序中得到了好坏参半的结果,我指责 apache 使用了太多的套接字。目前我已经设置了 AJAX 调用的超时时间,我对此很满意。但我真的需要让 PHP 进行超时,这样我就不会有 500,000 个套接字对无法访问的主机开放。
一些示例代码:
$sockconn = @socket_connect($socket, $target, null);
if(!$sockconn)
{
$raw['error'] = socket_strerror(socket_last_error());
$raw['status'] = false;
return $raw;
}
这是不会超时的功能。我需要让它超时。PHP 脚本执行时间也不会影响套接字。
我一无所知。