require 'socket'
begin puts "Connecting to host..."
host = Tcpsocket.new("169.121.77.3", 333)
# This will (intentionally) fail to connect, triggering the rescue clause.
rescue puts "Something went wrong."
# Script continues to run, allowing, for example, the user to correct the host IP.
end
@H_404_0@我的PHP代码有点乱 – 这已经很长时间了.
@H_404_0@
function check_alive($address,$service_port) {
/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo socket_strerror(socket_last_error());
}
else {
echo null;
}
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
echo socket_strerror(socket_last_error($socket));
return 1;
}
else {
echo null;
}
socket_close($socket);
return 0; }
$hosts = [...];
// list of hosts to check
foreach($hosts as $key=>$host) {
check_alive($hosts);
}
@H_404_0@基本上,我有一系列主机,我想查看它们是否还活着.没有必要让所有主机都活着,所以这就是我被困住的地方 – 数组中的第一个死主机崩溃了脚本.
@H_404_0@任何建议都将非常感激 – 我愿意接受我不完全理解PHP中的套接字连接.解决方法:
@H_404_0@PHP等价物是: @H_404_0@try { ... } catch (...) { ... }
@H_404_0@如果您使用的是PHP 5.5,那么还有:
@H_404_0@
try { ... } catch (...) { ... } finally { ... }
@H_404_0@你可以有几个catch子句,每个子句捕获一个不同的异常类.
@H_404_0@最终部分始终运行,包括引发异常时.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。