How to send Table using UDP in MATLAB

Hello, I hope you are doing well. I want to send Table using UDP. How can i do that?
I have write the following code but it does not working. Can anyone help me with that
client_port = 10011;
clientAddress = '192.168.100.202';
% Define the table
C = {5 "cereal" 110 "C+"; 12 "pizza" 140 "B";...
23 "salmon" 367 "A"; 2 "cookies" 160 "D"};
T = cell2table(C, 'VariableNames', {'Age', 'FavoriteFood', 'Calories', 'NutritionGrade'});
% Open a UDP port
u2 = udpport("IPV4",'LocalPort',client_port);
% Send the data
write(u2, clientAddress, client_port, T);

1 comentario

Image Analyst
Image Analyst el 4 de Mzo. de 2024
Save yourself some work and add only tags that are actually related to your question, not 22 unrelated (like image processing) or useless tags such as matlab, matlab code, code, etc.

Iniciar sesión para comentar.

Respuestas (1)

Voss
Voss el 3 de Mzo. de 2024

0 votos

According to the documentation, the "data" input is:
"Vector of values to write, specified as a row (1-by-N) or column (N-by-1) array of numeric data, string, or character vector."
A table is none of those things.
Also, the order of the inputs is:
"write(u,data,destinationAddress,destinationPort)"
or
"write(u,data,datatype,destinationAddress,destinationPort)"

7 comentarios

Med Future
Med Future el 3 de Mzo. de 2024
@Voss How can i write Table using UDP? Can you help me with that to modified the above code?
Voss
Voss el 3 de Mzo. de 2024
If the table contains numeric data, strings, and/or character vectors only, then you can write its contents in multiple write calls, where each call writes data only of one class, e.g., by writing one column of the table at a time.
@Voss I understand. Can you please help me in modifiying the code Like i have the cell array. which includes numeric values and strings. I want to write it. How can i modified the write function?
% Define the table
C = {5 "cereal" 110 "C+"; 12 "pizza" 140 "B";...
23 "salmon" 367 "A"; 2 "cookies" 160 "D"};
for ii = 1:numel(C)
write(u2, C{ii}, class(C{ii}), clientAddress, client_port);
end
Med Future
Med Future el 3 de Mzo. de 2024
@Voss Thanks. I will check it and let you know. if the problem still exist
Med Future
Med Future el 4 de Mzo. de 2024
@Voss how Can i read this table on recieving side?

Iniciar sesión para comentar.

Categorías

Preguntada:

el 3 de Mzo. de 2024

Comentada:

el 4 de Mzo. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by