Corba Event Client Etimedout

Corba Event Client ETIMEDOUT

I ended up figuring out that since I'm on a different subnet than the server, the ORB as publishing the wrong IP address, and couldn't figure out the route back to my client when an even triggered.

I ended up changing the config file at /etc/omniORB.cfg and changing the value of the "endPointPublish" property to the IP address on the server's subnet!

Corba chunked response

The CORBA server side is only able to send the data to the client when the server application code returns the function call. If you have just one operation in IDL that returns 10M, than the ORB can only transmit that data to the client when the operation has finished. In order to allow the ORB to send the data it has you have to modify your IDL and add a way for the client to start the operation and than poll for chunks of data to be available. Each implementation of the poll than returns with one chunk.

Some examples of how to do this are part of TAO. You can find the examples under ACE_wrappers/TAO/examples/Content_Server. It also has an example where the server pushes the data to the client when a chunk is available.

Java's 'tnameserv' takes 3+ minutes to be Ready , why?

Turns out the problem was a firewall issue. Wireshark didn't show anything useful because the firewall was dropping a certain packet. Although I looked at my firewall logs quite a few times to make sure this wasn't the case, turns out I wasn't looking in the right place. I overlooked the fact that this 'tnameserv' was IPv6 aware (as it was binding to :::23423) and a cursory glance of my firewall script showed that I was logging IPv6 related packets to a different location than my IPv4 packets. This was not an oversight but had to be done because ip6tables does not currently support the -j ULOG target.

Long story short, allowing loopback for IPv6 fixed the issue and 'tnameserv' returns "Ready" almost instantly.



Related Topics



Leave a reply



Submit