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

 Respuesta aceptada

Rob Graessle
Rob Graessle el 28 de Oct. de 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 comentarios

wafa isa
wafa isa el 29 de Oct. de 2011
Thank u so much for the help
it's working now =D
thanks much appreciate ur help
Assad
Assad el 10 de Feb. de 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 el 1 de Jun. de 2013
I get that error as well, no sure why.
Walter Roberson
Walter Roberson el 1 de Jun. de 2013
Possibly the port is already in use.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 28 de Oct. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by