HTTP クライアント
受信処理をループにしようと思ったけれど、よくわからなかったので、再帰処理で書いてみた。
調べてみると、for や while が使えるみたい。
let host = "localhost" and port = 8080 in let haddr = Unix.gethostbyname host in let sock = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in Unix.connect sock (Unix.ADDR_INET(haddr.Unix.h_addr_list.(0), port)); let request = "GET / HTTP/1.0\r\n\r\n" in let r = Unix.write sock request 0 (String.length request) in let buff = String.create 128 in let rec read_loop () = let r = Unix.read sock buff 0 127 in if r < 1 then () else ( print_string (String.sub buff 0 r); read_loop () ) in read_loop (); ;;