I am currently working on a robotics simulation environment. Robots, that can interact with he virtual wold can be controlled/monitored via a network connection. For the whole network communication (and of course other things e.g. Threads) we use the ACE library. The problem I have now is that it seems to me that the asynchronous UDP part is broken. When running the test program "test_udp_proactor -h localhost -p 55555" that comes with ACE I will always get the errorcode 89 (Destination address required). So far this is what I tried, but nothing helped:
- recompiling newer/different versions of ACE
- modifying the code of test_udp_proactor, recreating a similar program
- changing the environment (different PC with 32bit CPU and Ubuntu 9.10)
When using synchronous methods everything works just fine, so there is no error with the network hardware/software.
I searched google and this site for hours/days now and it seems that nobody else has this problem! At least I can't find it.
I am really frustrated now, because as far as I understand it, ACE is really mature and reliable. Though some people are very fond of the design of it. It is used in the aerospace community, where reliability and Real-Time aspects are a must! I can't believe ACE doesn't support asynch. UDP communication and/or nobody else found that out.
Can somebody run a simple test for me with test_udp_proactor to verify this behavior? We have to use a real-time capable system, so windows is not an option...
Any other hints and/or tips, preferably from the ACE-gurus ? :-)
Thank you very much