From e4bdf9a97cc5a01bdd6e1b3ae2995caa283fa5ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reynir=20Bj=C3=B6rnsson?= Date: Fri, 24 Sep 2021 14:56:45 +0200 Subject: [PATCH] Add command arguments --- udpdup.ml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/udpdup.ml b/udpdup.ml index d0642c4..bd776a6 100644 --- a/udpdup.ml +++ b/udpdup.ml @@ -14,7 +14,17 @@ let rec loop fd dests = let main () = let addr = "0.0.0.0" in - let dests = ["127.0.0.1", 2234; "127.0.0.1", 2235] in + let dests = + Array.to_list Sys.argv + |> List.tl + |> List.map (fun dest -> + match String.split_on_char ':' dest with + | [host; port] -> + host, int_of_string port + | _ -> + Printf.eprintf "bad argument: %s" dest; + exit 1) + in let fd = Lwt_unix.socket Lwt_unix.PF_INET Lwt_unix.SOCK_DGRAM 0 in Lwt_unix.bind fd Unix.(ADDR_INET (inet_addr_of_string addr, port)) >>= fun () -> Lwt_list.map_p (fun (addr, port) ->