[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Gerd Stolpmann <info@g...> |
| Subject: | Re: [Caml-list] TIME-OUT |
On Wed, 2003-02-19 at 10:08, altavillasalvatore@libero.it wrote: > Hi All, > > My problem is this: > > let risposta byte = > let pdu_length = String.length byte in > let my_name =Unix.gethostname() in > let my_entry_byname = Unix.gethostbyname my_name in > let my_addr = my_entry_byname.Unix.h_addr_list.(0) in > let sockaddr = Unix.ADDR_INET(my_addr, 161) in > let sock = Unix.socket Unix.PF_INET Unix.SOCK_DGRAM 0 in > let sock1 = Unix.ADDR_INET(my_addr, 12346) in > Unix.bind sock sock1; > let w = Unix.sendto sock byte 0 pdu_length [] sockaddr in > let max = 512 in > let buf=ref (String.create max) in > let len, addr =Unix.recvfrom sock !buf 0 max [] in > Unix.close sock; > let answer = String.sub !buf 0 len in > answer > > I would want to introduce a Timeout for input operations (a floating-point value representing a time in seconds) of 15 second. Unix.select is your friend. let rdlist,_,_ = Unix.select [sock] [] [] 15.0 in if rdlist = [] then raise Timeout; Otherwise, rdlist has one member: sock, and the socket has received a datagram. Gerd -- ------------------------------------------------------------ Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de ------------------------------------------------------------ ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners