Version française
Home     About     Download     Resources     Contact us    
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: -- (:)
From: Serge Aleynikov <serge@h...>
Subject: Re: [Caml-list] Udp connection problem
Frederico,

I believe the problem is that you are opening a server socket on a local 
address "127.0.0.1" rather than on a publicly-known address (stored in 
DNS) or any ("0.0.0.0"), and therefore only a client on the same host 
will be able to reach the server.

Regards,

Serge

Frederico Valente wrote:
> Hi!
> 
>     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 "127.0.0.1", 
> serverPort);;
> 
> 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;
>     done
> ;;
> 
> mainLoop;;
> 
>     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!
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>