ARIA-Users

Date Index Thread Index

[Aria-users] Using ArClientBase and ArServerBase with UDP protocol



Hello,

I am trying to use ArClientBase and ArServerBase classes to communicate 
between a robot and a workstation. I would like to retain the structure 
of client/server, which include announciong commands that are recognized 
by the server, callback function addition etc. However, I would prefer 
to use UDP protocol instead of TCP protocol. I am using VS2005 on WinXP.

If I understood the API correctly, sending data from the client side 
should be done by request and requestOnce functions. Both functions use 
TCP socket for sending data. I have tried inheriting from ArClientBase 
class and overriding request functions to use UDP for sending data. 
Unfortunately, at run-time, my program fails as it cannot interpret 
myNameIntMap, which holds information about commands registered on 
server side, correctly. In the debug mode, the object itself appears to 
be corrupted, although precompiled functions (as dataExists and getName) 
work properly.

I have searched the Internet for the solution with little success. The 
only piece of information that I managed to find is that the problem 
most likely arises due to different allocation spaces used by DLL 
library and my executable.

Is there another (maybe more obvious way) of solving this problem? The 
only thing I need to achieve is to get command code from the name 
(similar to dataExists function, just to get the code as the return 
value). Everything else would be achieved by inheritance and overriding. 
If there is another approach altogether, I am interested to try it.

Thank you for your help
Marko Budisic