Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Udp connection problem
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-01-06 (04:13)
From: Frederico Valente <a25285@a...>
Subject: Udp connection problem

	I am trying to communicate with an udp server currently in my computer.
The problem is that although I can send messages, and they are correctly 
received, I dont get any message back (I should). Running a sniffer I 
get an ICMP Unreacheable (Port Unreacheable) after the server response.
	Here is the code I'm using:

let serverPort = 4001;;
let serverAddress = Unix.ADDR_INET(Unix.inet_addr_of_string "", 

let open_connection sockaddr =
	let domain = Unix.domain_of_sockaddr sockaddr in
	let sock = Unix.socket domain Unix.SOCK_DGRAM 0 in
	try Unix.connect sock sockaddr ;
		(Unix.in_channel_of_descr sock, Unix.out_channel_of_descr sock)
	with exn -> Unix.close sock; raise exn

let mainLoop =
	let inChannel,outChannel = open_connection serverAddress in

	while true do
		output_string outChannel "(message)";
		flush outChannel;
		let r=input_line inChannel in
		Printf.printf "%s" r;


	If there's anyone willing to see if the problem lies in this simple 
code I would be extremely grateful.
	I am compiling with ocamlopt in a 3.2Gh Pentium-d in 32 bits and 
running gentoo linux.

	Thanks in advance!