How to send and receive data using UDP on the same computer?

22 views (last 30 days)
Kidus Guye
Kidus Guye on 29 Sep 2017
Commented: Vaibhav Arora on 17 Sep 2019
I want to use UDP to send and receive a data from a same computer in real time. I have an s-function block which get data from another software(optitrack) and I want to send this data to another simulink model on the same computer. I am just wondering if this can be possible by just using the 'DSP System Toolbox' sender and receiver udp blocks. I used '127.0.0.1' for the ip address to send the data and used '0.0.0.0' to receive it. Notice: I first packed the data from the s-function block and then connected it to UDP sender and for the receiver side I unpacked the data using Unpack block but still didn't work.
  5 Comments
Vaibhav Arora
Vaibhav Arora on 17 Sep 2019
Although any of the blocks from different libraries can be used, use the UDP send and UDP receive blocks from the embedded coder library. Use '127.0.0.1' for the remote IP address of both the blocks.
The remote IP port of the send block should match the local IP port of the receive block. Additionally, you should use byte pack and byte unpack blocks to pack the data into uint8.
For the receive block, let the receive buffer size have the default value. 'Maximum length for Messafe' parameter of the receive block would depend on the data packed. For example, if you expect to pack 4 double values using the input bus of byte pack and send it through UDP send, then this value should be 32 (4*8).
Output variable-size signal should be unchecked. Blocking time blocks UDP receive until it receives a message from UDP send.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!