I'm trying to run my publisher code on linux and have the subscriber run in windows.
However subscriber doesn't seem to get the data. If I run both of them in windows subscriber is able to receive the data.
Is there any QOS setting that I need to set to get subscriber to receive the data ?
Hey,
Before checking out QoS I would start with the basic stuff:
ping works both ways?
no? make sure the networking is sorted out.
rtiddsping works both ways?
if it doesn't i would start by testing (using a sniffer of some sort) whether discovery is working (for example, by seeing if the multicast address [default: 239.255.0.1] is "working - that is, a sends to multicast group and b receives it and vice versa).
if discovery using multicast doesn't work you are most likely not working in a lan (or have no network device taking care of multicast groups).
you can either fix multicast or use unicast discovery (by setting NDDS_DISCOVERY_PEERS environment variable, for example).
if discovery works but rtiddsping doesn't, you may have incompatible versions of rti or unsupported OS/hardware (or that some device is filtering out packets, most likely a firewall).
if rtiddsping works and your app doesn't, IT may be using incompatible versions of RTI (for example, when you run it on your computer both apps get the same environment variables pointing to the same version of RTI but when one is on linux it gets pointed to a different version of RTI).
It may also be that your linux app is not using the same version of your code as the windows app causing mismatches (if your type code changed, for example).
the above should cover most options.
Hopefully you can figure it out from here.
Good luck,
Roy.