UDP in matlab

Hi , I'm working on a project in matlab
I have a matlab GUI on one computer and I want to send a word indicating which button on the GUI has been clicked to the other computer using UDP where the 2nd computer can execute specific function later on according to the button clicked ,
my problem is that I can only click one button that the computer on the other side will receive its data & then I have to re run the server side again to revive the 2nd button clicked .. my UDP connection on the server side will end just accepts one data
how can I make it accepts more the one until I end it my self ?
here what I'm doing :
PC 1
u1 = udp('192.168.1.2', 'RemotePort', 8866, 'LocalPort', 8844) fopen(u1) fprintf(u1,'counter clk wise') fclose(u1) delete(u1) clear u1
This will be repeated with every button I couldn't make it general in the GUI
& here my server PC2 :
u2 = udp('192.168.1.2', 'RemotePort', 8844, 'LocalPort', 8866) fopen(u2) % open the host 2 pause(1) fscanf(u2) % print data from host 1 % close : %fclose(u2)
I've read several topics but no luck ... can any one help me with this a hint maybe
thnx

 Risposta accettata

Rob Graessle
Rob Graessle il 28 Ott 2011

1 voto

To receive multiple messages, you need to put a loop in the PC2 code. Something like this:
u2 = udp('192.168.1.2', 'RemotePort', 8844, 'LocalPort', 8866)
fopen(u2) % open the host 2
while ~<insert some stopping condition here>
pause(1)
fscanf(u2) % print data from host 1
end
fclose(u2)

4 Commenti

wafa isa
wafa isa il 29 Ott 2011
Thank u so much for the help
it's working now =D
thanks much appreciate ur help
Assad
Assad il 10 Feb 2012
i am using the above code and its not working it is giving me error that
????Error using==>icinterface.fopen at 83
unrecognized Windows Socket error 0:cannot bind
error in ==>pc2 at 2
fopen(u2)
i am running the above code as
u2 = udp('192.168.0.100', 'RemotePort', 8888, 'LocalPort', 8888)
fopen(u2) % open the host 2
while ~<insert some stopping condition here>
pause(1)
fscanf(u2) % print data from host 1
end
fclose(u2)
this is the error in PC 2
Justin Liang
Justin Liang il 1 Giu 2013
I get that error as well, no sure why.
Walter Roberson
Walter Roberson il 1 Giu 2013
Possibly the port is already in use.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by