在 Java 中发送 DNS 查询而不使用 InetAddress

Send DNS queries in Java without using InetAddress

我正在尝试使用 JAVA 将 DNS 查询发送到 DNS 根服务器(例如 192.58.128.30)。但是问题是,不允许使用像InetAddress.getByName()这样的库函数,如何进行?

到目前为止我已经试过了:

    public class Main{
        public static void main(String[] args) {
            DatagramSocket client = new DatagramSocket();

            String rawMessage = "example message";
            byte[] message = rawMessage.getBytes(); //converting the message into a byte array

            //creating datagram packet
            DatagramPacket packet =
            new DatagramPacket(rawMessage,rawMessage.length,InetAddress.getByName("192.58.128.30"),53);

            //sending packet using datagramSocket
            client.send(packet);

        }
    }

编辑:问题已解决。

最简单的方法是找出函数的真正作用,然后手动实现该方法以供学习。