⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dns.java

📁 JAVA网络编程技术内幕一书的源代码
💻 JAVA
字号:
/* * Java Network Programming, Second Edition * Merlin Hughes, Michael Shoffner, Derek Hamner * Manning Publications Company; ISBN 188477749X * * http://nitric.com/jnp/ * * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner; * all rights reserved; see license.txt for details. */public final class DNS {
  public static final int
    DEFAULT_PORT = 53;

  public static final int
    TYPE_A = 1, // address
    TYPE_NS = 2, // nameserver
    TYPE_MD = 3, // mail domain
    TYPE_MF = 4, // mail forwarder
    TYPE_CNAME = 5, // canonical name
    TYPE_SOA = 6, // start of authority
    TYPE_MB = 7, // mail box
    TYPE_MG = 8, // mail group
    TYPE_MR = 9, // mail rename
    TYPE_NULL = 10, // null
    TYPE_WKS = 11, // well-known services
    TYPE_PTR = 12, // pointer
    TYPE_HINFO = 13, // host info
    TYPE_MINFO = 14, // mail info
    TYPE_MX = 15, // mail exchanger
    TYPE_TXT = 16, // text
    TYPE_AXFR = 252, // zone transfer request
    TYPE_MAILB = 253, // mailbox request
    TYPE_MAILA = 254, // mail agent request
    TYPE_ANY = 255; // request any

  public static final int
    CLASS_IN = 1, // internet
    CLASS_CS = 2, // csnet
    CLASS_CH = 3, // chaos
    CLASS_HS = 4, // hesiod
    CLASS_ANY = 255; // request any

  public static final int
    SHIFT_QUERY = 15,
    SHIFT_OPCODE = 11,
    SHIFT_AUTHORITATIVE = 10,
    SHIFT_TRUNCATED = 9,
    SHIFT_RECURSE_PLEASE = 8,
    SHIFT_RECURSE_AVAILABLE = 7,
    SHIFT_RESERVED = 4,
    SHIFT_RESPONSE_CODE = 0;

  public static final int
    OPCODE_QUERY = 0,
    OPCODE_IQUERY = 1,
    OPCODE_STATUS = 2;

  private static final String[] typeNames = {
    "Address", "NameServer", "MailDomain", "MailForwarder",
    "CanonicalName", "StartOfAuthority", "MailBox", "MailGroup",
    "MailRename", "Null", "WellKnownServices", "Pointer",
    "HostInfo", "MailInfo", "MailExchanger", "Text"
  };
  
  public static String typeName (int type) {
    return ((type >= 1) && (type <= 16)) ? typeNames[type - 1] : "Unknown";
  }
  
  private static final String[] codeNames = {
    "Format error", "Server failure", "Name not known",
    "Not implemented", "Refused"
  };
  
  public static String codeName (int code) {
    return ((code >= 1) && (code <= 5)) ?
      codeNames[code - 1] : "Unknown error";
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -