Failed to receive Unicast data in Packet client
Posted: Thu Jan 06, 2022 6:32 am
Hello.
For some time I am trying to obtain Motive Tracker position data on a remote device. But for some reason I cannot receive the packets when switching to Unicast mode in Motive Streaming Pane.
I have a C++ program on Unix machine that can receive position packets from Motive in multicast mode, and everything is great. But when I switch to Unicast mode, and try to receive on the data port, there are no packets coming to it. I used Wireshark and saw that the Motive is sending data packets from specified IP address in correct network, but instead of sending packets from 1511 port to 1511 port packets are sent server_ip:1511 -> client_ip:<random_port> . Is this supposed to happen and I am doing something wrong on my side, or is it a bug? It just seems to me that when I create a socket with the server address and port number there is no more configuration to be done on my side, and Motive should know to which port to send the packets, like it does in Multicast mode.
I was hoping to use Unicast mode to avoid a different problem, where while trying to receive position packets over Wifi on a remote device, seems like there is too much traffic and the connection to remote device is lost, but maybe this is a different problem entirely. Maybe, for example there is a way to just reduce the frequency at which the messages are being sent from Motive?
My Motive uses NATNET 3.1.
I checked the PacketClient.cpp file in NATNET SDK 3.1 and 4.0 and while they differ a bit. The Socket creation in Multicast and Unicast seems to be the same in 4.0 (maybe there should be parameter values that change depending on the mode).
I was hoping some here could advise me on these matters. I would like to know how to properly setup Unicast communication with motive without the SDK.
Any Advice will be appreciated.
For some time I am trying to obtain Motive Tracker position data on a remote device. But for some reason I cannot receive the packets when switching to Unicast mode in Motive Streaming Pane.
I have a C++ program on Unix machine that can receive position packets from Motive in multicast mode, and everything is great. But when I switch to Unicast mode, and try to receive on the data port, there are no packets coming to it. I used Wireshark and saw that the Motive is sending data packets from specified IP address in correct network, but instead of sending packets from 1511 port to 1511 port packets are sent server_ip:1511 -> client_ip:<random_port> . Is this supposed to happen and I am doing something wrong on my side, or is it a bug? It just seems to me that when I create a socket with the server address and port number there is no more configuration to be done on my side, and Motive should know to which port to send the packets, like it does in Multicast mode.
I was hoping to use Unicast mode to avoid a different problem, where while trying to receive position packets over Wifi on a remote device, seems like there is too much traffic and the connection to remote device is lost, but maybe this is a different problem entirely. Maybe, for example there is a way to just reduce the frequency at which the messages are being sent from Motive?
My Motive uses NATNET 3.1.
I checked the PacketClient.cpp file in NATNET SDK 3.1 and 4.0 and while they differ a bit. The Socket creation in Multicast and Unicast seems to be the same in 4.0 (maybe there should be parameter values that change depending on the mode).
I was hoping some here could advise me on these matters. I would like to know how to properly setup Unicast communication with motive without the SDK.
Any Advice will be appreciated.