首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dig +tries=x和dig +retries=x有什么区别?

dig +tries=x和dig +retries=x有什么区别?
EN

Server Fault用户
提问于 2021-04-28 23:57:43
回答 1查看 525关注 0票数 1

我一直在查看dig文档,不明白dig +tries=x和dig +retries=x之间的区别。有人能解释一下吗?

EN

回答 1

Server Fault用户

发布于 2021-04-29 01:18:24

在这种情况下,您可能需要首先指定您正在讨论的dig版本,以避免任何可能的歧义。

在我的版本中,我只有+tries+retry (注:单数,而不是复数),+retry上的手册行专门表示与+tries相关的内容,即:

此选项将将UDP查询重试到服务器的次数设置为T,而不是默认的2。与+尝试不同,这不包括初始查询。

如果您研究它的源代码,在https://gitlab.isc.org/isc-projects/bind9/-/blob/9c8b7a5c450d54332f25830aa47035d87490bb3a/bin/dig/dig.c获得最新版本时,您可以看到甚至解释为“更简单”的事实(实际上,这两个选项作用于同一个变量)。

代码语言:javascript
复制
case 'r':
        switch (cmd[1]) {
[..]
        case 'e':
            switch (cmd[2]) {
[..]
            case 't': /* retry / retries */
[..]
                result = parse_uint(&lookup->retries, value,
                            MAXTRIES - 1, "retries");
                if (result != ISC_R_SUCCESS) {
                    warn("Couldn't parse retries");
                    goto exit_or_usage;
                }

                lookup->retries++;

[..]

case 't':
        switch (cmd[1]) {
[..]
        case 'r':
            switch (cmd[2]) {
[..]
            case 'i': /* tries */
[..]
                result = parse_uint(&lookup->retries, value,
                            MAXTRIES, "tries");
                if (result != ISC_R_SUCCESS) {
                    warn("Couldn't parse tries");
                    goto exit_or_usage;
                }
                if (lookup->retries == 0) {
                    lookup->retries = 1;
                }
                break;

因此,retry (实际上是retries )设置lookup->retries值,然后增加它,而tries只是将值设置为给定的值。tries给出了尝试的总次数,而retry给出了在第一次失败之后所做的尝试的数量,所以总尝试量是加1。同样的事情,只是不同的API/语义。

FWIW,lookup->retries在其他地方(在上面的前面)被初始化,如下所示:

代码语言:javascript
复制
int tries = 3;

[..]

    *looknew = (dig_lookup_t){
[..]
        .retries = tries,

这个3解释了手册页面中的2,因为2是重试的次数,所以在第一次尝试之后,默认情况下总尝试数是3。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1061945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档