This repository has been archived on 2024-05-23. You can view files and clone it, but cannot push or open issues or pull requests.
dns-toy/lib/network.ml

14 lines
414 B
OCaml
Raw Normal View History

2023-06-11 10:54:58 +02:00
open Unix
open Query
let send_request dns url =
let query = build url 1 in
let sock = socket PF_INET SOCK_DGRAM 0 in
let server_addr = ADDR_INET (inet_addr_of_string dns, 53) in
ignore (sendto sock query 0 (Bytes.length query) [] server_addr);
let buffer_size = 1024 in
let response = Bytes.create buffer_size in
let len, _ = recvfrom sock response 0 buffer_size [] in
Bytes.sub response 0 len
;;