为什么用matlab的UDP接收不到数据
2017-12-30 · 知道合伙人数码行家
知道合伙人数码行家
向TA提问 私信TA
发送端
tic;
load('data_test.mat');
s=cell(200,200); %定义待传输的数据
for i=1:200;
for j=1:200;
for k=1:201;
b(k)=data_test_im(i,j,k);%深度位数据
end
s(i,j)={[11,i,j,b]};%待传输数据
end
end
u1 = udp('127.0.0.1', 'RemotePort', 8866, 'LocalPort', 8844);%定义udp端口号和ip
u1.OutputBufferSize=8192;%传数据buffer大小
u1.Timeout=1000;%传输时间限制
fopen(u1);
for i=1:200;
for j=1:200;
aa=s(i,j);
A=aa{:};
%flag=fread(u1,1,'char');
fwrite(u1,A,'double'); %传数据
end
flag=fread(u1,1,'char');
end
fclose(u1);
delete(u1);
clear u1;
toc;
接收端
tic;
u2 = udp('127.0.0.1', 'RemotePort', 8844, 'LocalPort', 8866);
u2.InputBufferSize =8192;
u2.TimeOut=100;
fopen(u2);
u2.DatagramTerminateMode='off';
C=zeros(204,40000);
for i=1:40000;
%fwrite(u2,flag,'char');
if(mod(i,200)~=0)
C(:,i)=fread(u2,204,'float32');
else
fwrite(u2,flag,'char');
end
end
fclose(u2);
delete(u2);
clear u2;
toc;
经过测试,可以接收。