Matlab UDP Recieve Error

5 views (last 30 days)
Joe Fleming
Joe Fleming on 31 Oct 2016
Commented: Joe Fleming on 31 Oct 2016
Hi,
I'm running FlightGear simulation software and output some variable data through UDP on the loopback address 127.0.0.1, port 1234. Using the SocketTest application I can see the data being received however I would like to do this through Matlab which is running on the same PC.
I try to run the following:
while(1)
u = udp('localhost',1234,'localport',1234);
u.InputBufferSize = 1000;
u.DatagramReceivedFcn = @localReadDatagram;
fopen(u);
end
My issue is that I always get the error: "Unsuccessful open: Address already in use: Cannot bind ", can anyone help?
Thanks, Joe

Accepted Answer

Walter Roberson
Walter Roberson on 31 Oct 2016
You should probably use a different localport unless the receiving software insists that the transmitting port be 1234 . localport is the port number that data is transmitted from.
  4 Comments
Joe Fleming
Joe Fleming on 31 Oct 2016
Ok so I've removed the code from a while loop and I'll just close it through the command window manually for now. Socket test shows the address as 127.0.0.1:52867, so I've set the the ports to the following, is that correct?
u = udp('localhost',52867,'localport',5000);
u.InputBufferSize = 1000;
u.DatagramReceivedFcn = @localReadDatagram;
fopen(u);
I now get the error:
Undefined function or variable 'localReadDatagram'.
Error in instrcb (line 36)
feval(val{1}, obj, eventStruct, val{2:end});
Joe Fleming
Joe Fleming on 31 Oct 2016
All sorted - Thanks for your help

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!